All functions:
  Elements:
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:203,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - frag
    - fp
    argTypes:
    - struct fragment*
    - enum format_policy
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 211
    functionName: frag_needed
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - WRONG
    linkageType: ''
    returnType: unsigned
    signature: unsigned frag_needed(const struct fragment *frag, enum format_policy
      fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:217,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:218,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:221,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:223,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - append
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: openout
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - AN
    - VUT_Error
    - strerror
    - strcmp
    - fopen
    linkageType: ''
    returnType: void
    signature: void openout(int append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:231,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:232,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:233,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:234,1
    - Dst: openout
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:235,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct VUT*
    assertStmts:
    - condition: (v == vut)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: rotateout
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - assert
    - openout
    - AN
    - fclose
    linkageType: ''
    returnType: void
    signature: void rotateout(struct VUT *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:244,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:245,1
    - Dst: fflush
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct VUT*
    assertStmts:
    - condition: (v == vut)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: flushout
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - fflush
    linkageType: ''
    returnType: void
    signature: void flushout(struct VUT *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:255,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:256,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - vsb
    - f
    - dflt
    argTypes:
    - struct vsb*
    - struct fragment*
    - char*
    assertStmts:
    - condition: (f->b <= f->e)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: vsb_fcat
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - assert
    - VSB_quote
    linkageType: ''
    returnType: int
    signature: int vsb_fcat(struct vsb *vsb, const struct fragment *f, const char
      *dflt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:268,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:269,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:270,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - struct format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: format_string
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VSB_cat
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void format_string(const struct format *format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:278,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:279,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:280,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:281,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - struct format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: format_strptr
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VSB_cat
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void format_strptr(const struct format *format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:289,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - struct format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: format_int64
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void format_int64(const struct format *format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:298,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:299,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:304,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:307,1
    - Dst: vsb_fcat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - struct format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: format_fragment
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - vsb_fcat
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - VSB_quote
    linkageType: ''
    returnType: void
    signature: void format_fragment(const struct format *format)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:321,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:323,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:328,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:332,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:332,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:338,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:344,1
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:348,1
    - Dst: localtime_r
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:349,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:350,1
    - Dst: strftime
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:350,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:351,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:351,1
    - Dst: modf
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:354,1
    - Dst: modf
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:357,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:378,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:382,1
    - Dst: fmtcheck
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:382,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:384,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:384,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - format
    argTypes:
    - struct format*
    assertStmts:
    - condition: (fmtcheck(format->time_fmt, "%jd") == format->time_fmt)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 387
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 387
    functionName: format_time
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - strtod
    - floor
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - AZ
    - isnan
    - modf
    - assert
    - VSB_cat
    - WRONG
    - fmtcheck
    - strftime
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void format_time(const struct format *format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:394,1
    - Dst: vsb_fcat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:394,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:395,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:395,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:397,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:398,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:398,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:399,1
    - Dst: vsb_fcat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:399,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:401,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:401,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:402,1
    - Dst: vsb_fcat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:402,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:403,1
    - Dst: vsb_fcat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:403,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:404,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:404,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:405,1
    - Dst: vsb_fcat
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - format
    argTypes:
    - struct format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: format_requestline
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - vsb_fcat
    - VSB_putc
    - AZ
    - strncmp
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void format_requestline(const struct format *format)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:412,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:413,1
    - Dst: VENC_Decode_Base64
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:417,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:418,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:421,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:424,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:424,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:425,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:425,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:428,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:428,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - format
    argTypes:
    - struct format*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: format_auth
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - AN
    - VENC_Decode_Base64
    - VSB_finish
    - AZ
    - VSB_quote
    - strchr
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void format_auth(const struct format *format)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:439,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:440,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:441,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:443,1
    - Dst: VSB_error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:443,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:447,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:447,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:448,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:448,1
    - Dst: fwrite
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:450,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:450,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:450,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 455
    functionName: print
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VSB_putc
    - CHECK_OBJ_NOTNULL
    - VSB_data
    - VSB_finish
    - fwrite
    - AZ
    - VSB_len
    - VSB_clear
    - VSB_error
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: int print(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:462,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:463,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:464,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:466,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:467,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: addf_string
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    - strdup
    linkageType: ''
    returnType: void
    signature: void addf_string(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:476,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:477,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:478,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - strptr
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: addf_strptr
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void addf_strptr(const char *const *strptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:489,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:490,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:491,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:495,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:496,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - frag
    - str
    argTypes:
    - struct fragment*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 499
    functionName: addf_fragment
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    - strdup
    linkageType: ''
    returnType: void
    signature: void addf_fragment(struct fragment *frag, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:506,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:507,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:508,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: addf_int64
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void addf_int64(int64_t *i)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:519,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:520,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:521,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:524,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:527,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:529,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:531,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:534,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:536,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:538,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:540,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:541,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:543,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:545,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:548,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:550,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:552,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:554,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:557,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:562,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:563,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - type
    - fmt
    argTypes:
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 564
    functionName: addf_time
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - AN
    - strdup
    - REPLACE
    - VUT_Error
    - strcmp
    - strncmp
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void addf_time(char type, const char *fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:571,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:572,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: addf_requestline
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void addf_requestline(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:583,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:584,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:585,1
    - Dst: asprintf
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:586,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:587,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:588,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:590,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:591,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:594,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:595,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    assertStmts:
    - condition: (w->keylen > 0)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 597
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 597
    functionName: addf_vcl_log
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - AN
    - asprintf
    - strdup
    - assert
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void addf_vcl_log(const char *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:606,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:607,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:608,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:609,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:611,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:614,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:616,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:619,1
    - Dst: asprintf
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:623,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:624,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:625,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:627,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:628,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:631,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:632,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - head
    - key
    argTypes:
    - struct watch_head*
    - char*
    assertStmts:
    - condition: (w->keylen > 0)
      pos:
        line_end: 623
        line_start: 623
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 634
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 634
    functionName: addf_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - AN
    - asprintf
    - strdup
    - VUT_Error
    - assert
    - strncmp
    - strchr
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void addf_hdr(struct watch_head *head, char *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:641,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:642,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:644,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:647,1
    - Dst: asprintf
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:650,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:651,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:653,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tag
    - i
    - prefix
    argTypes:
    - enum VSL_tag_e
    - long
    - char*
    assertStmts:
    - condition: (i <= INT_MAX)
      pos:
        line_end: 646
        line_start: 646
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    - condition: (w->prefixlen > 0)
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 655
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 655
    functionName: addf_vsl
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - AN
    - asprintf
    - VUT_Error
    - assert
    - addf_fragment
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void addf_vsl(enum VSL_tag_e tag, long i, const char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:662,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:663,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:665,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:666,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 668
    functionName: addf_auth
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    - strdup
    linkageType: ''
    returnType: void
    signature: void addf_auth(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:677,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:678,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:681,1
    - Dst: addf_strptr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:682,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:685,1
    - Dst: addf_strptr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:686,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:689,1
    - Dst: addf_strptr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:690,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:693,1
    - Dst: addf_int64
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:694,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:697,1
    - Dst: addf_vcl_log
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:698,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:701,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:707,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:713,1
    - Dst: strtol
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:715,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:717,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:719,1
    - Dst: VSL_Name2Tag
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:731,1
    - Dst: VSL_Name2Tag
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:734,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:738,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:740,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:741,1
    - Dst: addf_vsl
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:743,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:746,1
    - Dst: parse_format
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:747,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:750,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts:
    - condition: (slt >= 0)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 751
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 751
    functionName: parse_x_format
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VSL_Name2Tag
    - addf_vcl_log
    - addf_strptr
    - VUT_Error
    - strcmp
    - addf_fragment
    - strtol
    - strncmp
    - assert
    - parse_format
    - addf_int64
    - addf_vsl
    linkageType: ''
    returnType: void
    signature: void parse_x_format(char *buf)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:764,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:765,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:772,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:772,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:774,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:774,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:776,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:776,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:781,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:781,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:785,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:786,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:786,1
    - Dst: addf_string
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:787,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:787,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:788,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:794,1
    - Dst: addf_time
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:797,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:800,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:803,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:806,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:809,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:809,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:812,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:815,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:818,1
    - Dst: addf_requestline
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:821,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:824,1
    - Dst: addf_time
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:827,1
    - Dst: addf_time
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:830,1
    - Dst: addf_auth
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:833,1
    - Dst: addf_fragment
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:836,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:851,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:853,1
    - Dst: strncpy
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:854,1
    - Dst: addf_hdr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:859,1
    - Dst: addf_hdr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:862,1
    - Dst: addf_time
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:865,1
    - Dst: addf_time
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:868,1
    - Dst: parse_x_format
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:871,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:874,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:881,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:886,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:888,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:888,1
    - Dst: addf_string
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:889,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:889,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:890,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:893,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 119
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts:
    - condition: ((unsigned)(q - p) < sizeof buf - 1)
      pos:
        line_end: 852
        line_start: 852
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 894
      start: 753
    functionDepth: 3
    functionLinenumber: 753
    functionLinenumberEnd: 894
    functionName: parse_format
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 1
    functionsReached:
    - VSB_finish
    - VSB_clear
    - parse_x_format
    - AN
    - VSB_putc
    - addf_time
    - strncpy
    - VSB_data
    - addf_auth
    - VUT_Error
    - AZ
    - VSB_len
    - assert
    - addf_string
    - VSB_new_auto
    - addf_requestline
    - addf_fragment
    - addf_hdr
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void parse_format(const char *format)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:900,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:901,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - prefix
    - len
    - b
    - e
    - next
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    - char**
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 899
        line_start: 899
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 910
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 910
    functionName: isprefix
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - assert
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: "int isprefix(const char *prefix, size_t len, const char *b,\n    const
      char *e, const char **next)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:920,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:921,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:922,1
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:926,1
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:927,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:929,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:934,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:937,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:942,1
    - Dst: frag_needed
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:945,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:952,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - fp
    - b
    - e
    argTypes:
    - enum format_policy
    - char*
    - char*
    assertStmts:
    - condition: (p != NULL && q != NULL)
      pos:
        line_end: 941
        line_start: 941
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 953
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 953
    functionName: frag_fields
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - isspace
    - AN
    - va_arg
    - AZ
    - assert
    - va_start
    - frag_needed
    - va_end
    linkageType: ''
    returnType: void
    signature: void frag_fields(enum format_policy fp, const char *b, const char *e,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: frag_needed
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:960,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:966,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:969,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - fp
    - b
    - e
    - f
    argTypes:
    - enum format_policy
    - char*
    - char*
    - struct fragment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 979
    functionName: frag_line
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - isspace
    - frag_needed
    - strlen
    linkageType: ''
    returnType: void
    signature: "void frag_line(enum format_policy fp, const char *b, const char *e,\n
      \   struct fragment *f)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:989,1
    - Dst: isprefix
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:990,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:994,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1000,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - fp
    - head
    - b
    - e
    - unset
    argTypes:
    - enum format_policy
    - struct watch_head*
    - char*
    - char*
    - int
    assertStmts:
    - condition: "(w->match == FMTPOL_FIRST ||\n\t\t\t    w->match == FMTPOL_LAST)"
      pos:
        line_end: 994
        line_start: 993
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 1006
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 1006
    functionName: process_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - assert
    - isprefix
    - frag_line
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void process_hdr(enum format_policy fp, const struct watch_head *head,
      const char *b,\n    const char *e, int unset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:989,1
    - Dst: isprefix
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:990,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:994,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1000,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(w->match == FMTPOL_FIRST ||\n\t\t\t    w->match == FMTPOL_LAST)"
      pos:
        line_end: 994
        line_start: 993
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 1005
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1005
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 1
    functionsReached:
    - assert
    - isprefix
    - frag_line
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH(w, head, list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1015,1
    - Dst: isprefix
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1020,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1023,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1025,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - head
    - tag
    - b
    - e
    argTypes:
    - struct vsl_watch_head*
    - enum VSL_tag_e
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1027
    functionName: process_vsl
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - frag_fields
    - isprefix
    - frag_line
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void process_vsl(const struct vsl_watch_head *head, enum VSL_tag_e
      tag,\n    const char *b, const char *e)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1015,1
    - Dst: isprefix
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1020,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1023,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1025,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 1
    functionsReached:
    - frag_fields
    - isprefix
    - frag_line
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH(w, head, list)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: VSL_Next
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1057,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1058,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1063,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1064,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1075,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1081,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1086,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1092,1
    - Dst: memchr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1096,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1099,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1100,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1104,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1108,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1112,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1120,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1121,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1124,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1125,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1126,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1127,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1130,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1131,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1132,1
    - Dst: frag_fields
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1133,1
    - Dst: process_hdr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1139,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1140,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1141,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1142,1
    - Dst: ISPREFIX
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1144,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1145,1
    - Dst: process_hdr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1151,1
    - Dst: process_hdr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1155,1
    - Dst: process_hdr
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1159,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1170,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1174,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1177,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1177,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1180,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1180,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1183,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1189,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1194,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1197,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1201,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1202,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1204,1
    - Dst: frag_line
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1207,1
    - Dst: process_vsl
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1214,1
    - Dst: print
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1218,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 158
    argCount: 3
    argNames:
    - vsl
    - pt
    - priv
    argTypes:
    - struct VSL_data*
    - struct VSL_transaction*[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1224
    functionName: dispatch_f
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - process_vsl
    - VSL_LEN
    - CHECK_OBJ_NOTNULL
    - VSL_Next
    - strcasecmp
    - VSL_CDATA
    - memchr
    - process_hdr
    - frag_line
    - VSL_TAG
    - ISPREFIX
    - strcmp
    - strncmp
    - print
    - frag_fields
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void dispatch_f(struct VSL_data *vsl, struct VSL_transaction * const
      pt[],\n    void *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1120
    functionName: ISPREFIX
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISPREFIX(a, b, c, d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1234,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1236,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1237,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1238,1
    - Dst: getline
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1239,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1241,1
    - Dst: feof
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1242,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1243,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1244,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1245,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1247,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - formatfile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1251
    functionName: read_format
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - feof
    - AN
    - VUT_Error
    - strerror
    - AZ
    - getline
    - fopen
    - free
    - fclose
    linkageType: ''
    returnType: char
    signature: 'char *

      read_format(const char *formatfile)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: VUT_InitProg
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1260,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1261,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1262,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1263,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1264,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1265,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1266,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1267,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1268,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1269,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1271,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1272,1
    - Dst: tzset
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1274,1
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1276,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1285,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1285,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1290,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1291,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1295,1
    - Dst: read_format
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1297,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1298,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1302,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1305,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1306,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1311,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1314,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1315,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1321,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1321,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1324,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1327,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1329,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1330,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1333,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1335,1
    - Dst: parse_format
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1339,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1340,1
    - Dst: openout
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1346,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1347,1
    - Dst: VUT_Setup
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1354,1
    - Dst: VUT_Main
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1355,1
    - Dst: VUT_Fini
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1356,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c:1358,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vut->g_arg < VSL_g__MAX)
      pos:
        line_end: 1332
        line_start: 1332
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    constantsTouched: []
    func_position:
      end: 1359
      start: 1253
    functionDepth: 4
    functionLinenumber: 1253
    functionLinenumberEnd: 1359
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    functionUses: 0
    functionsReached:
    - VUT_Fini
    - VUT_InitProg
    - openout
    - VUT_Usage
    - AN
    - VUT_Arg
    - memset
    - REPLACE
    - exit
    - VTAILQ_INIT
    - VUT_Error
    - strcmp
    - assert
    - parse_format
    - tzset
    - VSB_new_auto
    - VUT_Main
    - read_format
    - VUT_Setup
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - cb
    - ','
    - tg
    - ','
    - prefix
    - ','
    - fld
    - ','
    - hist_low
    - ','
    - high_high
    - ','
    - doc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: HIS_PROF
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIS_PROF(name,cb,tg,prefix,fld,hist_low,high_high,doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - name
    - ','
    - vsl_arg
    - ','
    - tag
    - ','
    - prefix
    - ','
    - field
    - ','
    - hist_low
    - ','
    - high_high
    - ','
    - doc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: HIS_PROF
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIS_PROF(name,vsl_arg,tag,prefix,field,hist_low,high_high,doc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mvaddch
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:150,1
    - Dst: mvaddch
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:152,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:153,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:153,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:157,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:157,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:159,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:159,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:162,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:163,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:166,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:169,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:173,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:179,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:181,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:181,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:184,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:184,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:189,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:189,1
    - Dst: mvaddch
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:194,1
    - Dst: mvaddch
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (l < n)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: (LINES - 3 >= 0)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    constantsTouched: []
    func_position:
      end: 198
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 198
    functionName: update
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached:
    - mvprintw
    - VTIM_format
    - mvaddch
    - IC
    - memset
    - assert
    - vmax
    linkageType: ''
    returnType: void
    signature: void update(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:207,1
    - Dst: vmax_t
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:212,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: upd_vsl_ts
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached:
    - strtod
    - strchr
    - vmax_t
    linkageType: ''
    returnType: void
    signature: void upd_vsl_ts(const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:219,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:224,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:228,1
    - Dst: VTIM_timespec
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:229,1
    - Dst: pthread_cond_timedwait
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:230,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (t > t0)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: (i == 0 || i == ETIMEDOUT)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    constantsTouched: []
    func_position:
      end: 233
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 233
    functionName: delorean
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - pthread_cond_timedwait
    - assert
    - VTIM_timespec
    - VTIM_mono
    linkageType: ''
    returnType: void
    signature: void delorean(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: VSL_Next
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:263,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:266,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:266,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:268,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:269,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:269,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:276,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:286,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:286,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:288,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:288,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:293,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:300,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:300,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:302,1
    - Dst: sscanf
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:305,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:305,1
    - Dst: vlimit_t
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:318,1
    - Dst: lround
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:318,1
    - Dst: log
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:318,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:322,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:324,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:324,1
    - Dst: upd_vsl_ts
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:331,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:338,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:339,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:342,1
    - Dst: delorean
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:361,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:362,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:362,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 3
    argNames:
    - vsl
    - pt
    - priv
    argTypes:
    - struct VSL_data*
    - struct VSL_transaction*[]
    - void*
    assertStmts:
    - condition: (i >= 0)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: ((unsigned)i < hist_buckets)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: (bucket_hit[u] > 0)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: (u < hist_buckets)
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: (bucket_miss[u] > 0)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    constantsTouched: []
    func_position:
      end: 365
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 365
    functionName: accumulate
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached:
    - vlimit_t
    - VSL_Next
    - strcasecmp
    - VSL_CDATA
    - sscanf
    - delorean
    - VSL_TAG
    - log
    - pthread_mutex_lock
    - PTOK
    - strncmp
    - assert
    - upd_vsl_ts
    - VTIM_mono
    - pthread_mutex_unlock
    - strlen
    - lround
    linkageType: ''
    returnType: void
    signature: "void accumulate(struct VSL_data *vsl, struct VSL_transaction * const
      pt[],\n    void *priv)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: initscr
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:373,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:374,1
    - Dst: raw
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:374,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:375,1
    - Dst: noecho
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:375,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:376,1
    - Dst: nonl
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:376,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:377,1
    - Dst: intrflush
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:377,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:378,1
    - Dst: curs_set
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:378,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:379,1
    - Dst: erase
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:379,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:382,1
    - Dst: erase
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:382,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:383,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:383,1
    - Dst: update
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:384,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:385,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:385,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:386,1
    - Dst: refresh
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:386,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:388,1
    - Dst: timeout
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:389,1
    - Dst: getch
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:390,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:395,1
    - Dst: erase
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:395,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:400,1
    - Dst: redrawwin
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:400,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:401,1
    - Dst: refresh
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:401,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:404,1
    - Dst: endwin
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:404,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:405,1
    - Dst: raise
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:405,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:411,1
    - Dst: raise
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:411,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:426,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:436,1
    - Dst: beep
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:436,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:441,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:441,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:443,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:450,1
    - Dst: pthread_cond_broadcast
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:450,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:451,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:451,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:454,1
    - Dst: endwin
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:454,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (ms_delay > 0)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    constantsTouched: []
    func_position:
      end: 456
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 456
    functionName: do_curses
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached:
    - erase
    - redrawwin
    - AC
    - getch
    - VTIM_mono
    - update
    - pthread_cond_broadcast
    - IC
    - raw
    - raise
    - refresh
    - beep
    - AZ
    - assert
    - PTOK
    - endwin
    - nonl
    - intrflush
    - initscr
    - curs_set
    - pthread_mutex_lock
    - vmax
    - pthread_mutex_unlock
    - timeout
    - noecho
    linkageType: ''
    returnType: void
    signature: void do_curses(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:463,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: v_noreturn_::profile_error
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      profile_error(const char *s)'
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: VUT_InitProg
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:478,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:479,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:480,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:480,1
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:482,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:486,1
    - Dst: lround
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:488,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:488,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:490,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:493,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:504,1
    - Dst: profile_error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:506,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:512,1
    - Dst: VSL_Name2Tag
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:514,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:516,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:521,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:527,1
    - Dst: profile_error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:529,1
    - Dst: sscanf
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:535,1
    - Dst: profile_error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:536,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:545,1
    - Dst: sscanf
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:549,1
    - Dst: profile_error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:551,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:555,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:557,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:562,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:568,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:569,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:574,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:577,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:579,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:586,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:590,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:592,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:594,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:597,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:597,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:605,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:606,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:609,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:611,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:612,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:614,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:615,1
    - Dst: log
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:617,1
    - Dst: VUT_Setup
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:619,1
    - Dst: VSM_Dup
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:621,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:623,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:624,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:624,1
    - Dst: VUT_Main
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:627,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:629,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:629,1
    - Dst: VUT_Fini
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:630,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinylhist/vinylhist.c:631,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 112
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vut->g_arg < VSL_g__MAX)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: (colon)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: (VUT_Arg(vut, active_profile->VSL_arg, NULL))
      pos:
        line_end: 596
        line_start: 596
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    - condition: "(active_profile->VSL_arg == 'b' ||\n\t    active_profile->VSL_arg
        == 'c' ||\n\t    active_profile->VSL_arg == 'E')"
      pos:
        line_end: 595
        line_start: 593
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    constantsTouched: []
    func_position:
      end: 632
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 632
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    functionUses: 0
    functionsReached:
    - VUT_Fini
    - VSM_Dup
    - VUT_InitProg
    - pthread_create
    - VTIM_mono
    - pthread_join
    - pthread_cond_init
    - calloc
    - VUT_Usage
    - strtod
    - AN
    - VUT_Arg
    - malloc
    - sscanf
    - strdup
    - exit
    - log
    - strcpy
    - VUT_Error
    - strcmp
    - assert
    - PTOK
    - strchr
    - profile_error
    - VUT_Main
    - lround
    - VSL_Name2Tag
    - VUT_Setup
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - name
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: BINDING_KEY
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDING_KEY(key, name, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: BINDING
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDING(name, desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:52,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:53,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:54,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:71,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:73,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:74,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:75,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:80,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:85,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:85,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:86,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:86,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 89
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - VSB_finish
    - VSB_printf
    - AZ
    - VSB_cat
    - VSB_quote
    - VSB_tofile
    - strchr
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: BINDING_CTRL
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_bindings.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDING_CTRL(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: init_hitrate
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_hitrate(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:158,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ma
    - val
    argTypes:
    - struct ma*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: update_ma
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    linkageType: ''
    returnType: void
    signature: void update_ma(struct ma *ma, double val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vlimit_t
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:177,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:178,1
    - Dst: vlimit_t
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: update_position
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - vmin
    - vlimit_t
    linkageType: ''
    returnType: void
    signature: void update_position(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:192,1
    - Dst: update_position
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: delete_pt_array
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - update_position
    - free
    linkageType: ''
    returnType: void
    signature: void delete_pt_array(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: delete_pt_array
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:213,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:214,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:215,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:216,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:218,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:219,1
    - Dst: VSC_ChangeLevel
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:222,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:229,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:232,1
    - Dst: update_position
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:239,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (n_ptarray < n_ptlist)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (n_ptarray <= n_ptlist)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    constantsTouched: []
    func_position:
      end: 243
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 243
    functionName: build_pt_array
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - update_position
    - AZ
    - assert
    - VSC_ChangeLevel
    - VTAILQ_FOREACH
    - calloc
    - delete_pt_array
    linkageType: ''
    returnType: void
    signature: void build_pt_array(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:251,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:252,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:253,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:254,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:264,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:278,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:279,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:280,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:287,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:288,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 293
    functionName: sample_points
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    - update_ma
    - VSC_Value
    - VTIM_mono
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void sample_points(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:320,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:321,1
    - Dst: update_ma
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 323
    functionName: sample_hitrate
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - update_ma
    linkageType: ''
    returnType: void
    signature: void sample_hitrate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:328,1
    - Dst: sample_points
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:331,1
    - Dst: sample_hitrate
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: sample_data
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - sample_points
    - VTIM_mono
    - sample_hitrate
    linkageType: ''
    returnType: void
    signature: void sample_data(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:340,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:343,1
    - Dst: delwin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - w
    argTypes:
    - WINDOW**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: destroy_window
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    - AC
    - delwin
    linkageType: ''
    returnType: void
    signature: void destroy_window(WINDOW **w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroy_window
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:354,1
    - Dst: destroy_window
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:355,1
    - Dst: destroy_window
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:356,1
    - Dst: destroy_window
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:357,1
    - Dst: destroy_window
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:358,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:372,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:385,1
    - Dst: newwin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:387,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:388,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:389,1
    - Dst: nodelay
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:389,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:390,1
    - Dst: keypad
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:390,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:391,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:391,1
    - Dst: newwin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:393,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:394,1
    - Dst: wbkgd
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:395,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:396,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:396,1
    - Dst: newwin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:398,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:399,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:400,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:400,1
    - Dst: newwin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:402,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:403,1
    - Dst: wbkgd
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:404,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:405,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:405,1
    - Dst: newwin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:408,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:409,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:410,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (y >= Y)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    constantsTouched: []
    func_position:
      end: 419
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 419
    functionName: make_windows
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - destroy_window
    - AN
    - nodelay
    - wnoutrefresh
    - keypad
    - AC
    - wbkgd
    - assert
    - newwin
    - vmax
    linkageType: ''
    returnType: void
    signature: void make_windows(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:425,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - t
    argTypes:
    - WINDOW*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: print_duration
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - IC
    - wprintw
    linkageType: ''
    returnType: void
    signature: void print_duration(WINDOW *w, uint64_t t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_duration
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:434,1
    - Dst: wattron
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:436,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:437,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:437,1
    - Dst: wattroff
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - w
    - up
    - flg
    argTypes:
    - WINDOW*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: running
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - print_duration
    - IC
    - wattron
    - wattroff
    - wprintw
    linkageType: ''
    returnType: void
    signature: void running(WINDOW *w, uint64_t up, int flg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:448,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:450,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:450,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:457,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:457,1
    - Dst: running
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:458,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:459,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:459,1
    - Dst: running
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:460,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:461,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:461,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:463,1
    - Dst: mvwaddstr
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:464,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:467,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:467,1
    - Dst: getmaxx
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:467,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:470,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:470,1
    - Dst: getmaxx
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:470,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:475,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 476
    functionName: draw_status
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - mvwprintw
    - AN
    - wnoutrefresh
    - IC
    - AC
    - getmaxx
    - running
    - VTIM_mono
    - werase
    - mvwaddstr
    linkageType: ''
    returnType: void
    signature: void draw_status(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:492,1
    - Dst: getmaxx
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:494,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:496,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:496,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:498,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:498,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:500,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:500,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:508,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:508,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:511,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:511,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:514,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:514,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:517,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:517,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:520,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:520,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:523,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:523,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:532,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:532,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 533
    functionName: draw_bar_t
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - mvwprintw
    - AN
    - wnoutrefresh
    - IC
    - AC
    - getmaxx
    - werase
    linkageType: ''
    returnType: void
    signature: void draw_bar_t(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:548,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:549,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:557,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:557,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:561,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:561,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:563,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:563,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:567,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:567,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:569,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:569,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:572,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:572,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:575,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:575,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:578,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:578,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - w
    - y
    - x
    - X
    - pt
    argTypes:
    - WINDOW*
    - int
    - int
    - int
    - struct pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 586
    functionName: draw_line_default
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - IC
    - mvwprintw
    - AN
    linkageType: ''
    returnType: void
    signature: void draw_line_default(WINDOW *w, int y, int x, int X, const struct
      pt *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - val
    - q
    argTypes:
    - double
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 600
    functionName: scale_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double scale_bytes(double val, char *q)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scale_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:608,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:609,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - w
    - val
    argTypes:
    - WINDOW*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: print_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - scale_bytes
    - IC
    - wprintw
    linkageType: ''
    returnType: void
    signature: void print_bytes(WINDOW *w, double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:618,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:618,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:620,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - w
    - val
    argTypes:
    - WINDOW*
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 621
    functionName: print_trunc
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - IC
    - wprintw
    linkageType: ''
    returnType: void
    signature: void print_trunc(WINDOW *w, uintmax_t val)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:636,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:637,1
    - Dst: wmove
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:643,1
    - Dst: print_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:647,1
    - Dst: print_trunc
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:649,1
    - Dst: print_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:653,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:655,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:655,1
    - Dst: print_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:659,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:661,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:661,1
    - Dst: print_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:664,1
    - Dst: print_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:667,1
    - Dst: print_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:670,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 5
    argNames:
    - w
    - y
    - x
    - X
    - pt
    argTypes:
    - WINDOW*
    - int
    - int
    - int
    - struct pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 678
    functionName: draw_line_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - print_trunc
    - AN
    - IC
    - wmove
    - print_bytes
    - wprintw
    linkageType: ''
    returnType: void
    signature: void draw_line_bytes(WINDOW *w, int y, int x, int X, const struct pt
      *pt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:690,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:691,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:692,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:700,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:700,1
    - Dst: mvwaddch
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:710,1
    - Dst: mvwaddch
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - w
    - y
    - x
    - X
    - pt
    argTypes:
    - WINDOW*
    - int
    - int
    - int
    - struct pt*
    assertStmts:
    - condition: (pt->vpt->format == 'b')
      pos:
        line_end: 691
        line_start: 691
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    constantsTouched: []
    func_position:
      end: 721
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 721
    functionName: draw_line_bitmap
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - mvwprintw
    - AN
    - IC
    - assert
    - mvwaddch
    linkageType: ''
    returnType: void
    signature: void draw_line_bitmap(WINDOW *w, int y, int x, int X, const struct
      pt *pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:731,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:732,1
    - Dst: wmove
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:740,1
    - Dst: print_duration
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:742,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:744,1
    - Dst: wprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:744,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - w
    - y
    - x
    - X
    - pt
    argTypes:
    - WINDOW*
    - int
    - int
    - int
    - struct pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 752
    functionName: draw_line_duration
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    - print_duration
    - IC
    - wmove
    - wprintw
    linkageType: ''
    returnType: void
    signature: void draw_line_duration(WINDOW *w, int y, int x, int X, const struct
      pt *pt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:759,1
    - Dst: getmaxx
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:760,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:762,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:763,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:763,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:765,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:765,1
    - Dst: draw_line_bitmap
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:770,1
    - Dst: draw_line_bytes
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:773,1
    - Dst: draw_line_duration
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:776,1
    - Dst: draw_line_default
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - w
    - y
    - pt
    argTypes:
    - WINDOW*
    - int
    - struct pt*
    assertStmts:
    - condition: (colw_name >= COLW_NAME_MIN)
      pos:
        line_end: 758
        line_start: 758
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    constantsTouched: []
    func_position:
      end: 782
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 782
    functionName: draw_line
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - mvwprintw
    - draw_line_bitmap
    - IC
    - draw_line_default
    - getmaxx
    - draw_line_duration
    - assert
    - draw_line_bytes
    - strlen
    linkageType: ''
    returnType: void
    signature: void draw_line(WINDOW *w, int y, const struct pt *pt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:790,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:792,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:792,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:794,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:794,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:798,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:799,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:800,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:801,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:802,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:803,1
    - Dst: wattron
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:810,1
    - Dst: draw_line
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:811,1
    - Dst: wattroff
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:813,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:815,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:815,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (current >= 0)
      pos:
        line_end: 797
        line_start: 797
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (current < n_ptarray)
      pos:
        line_end: 798
        line_start: 798
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (page_start >= 0)
      pos:
        line_end: 799
        line_start: 799
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (page_start < n_ptarray)
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (current >= page_start)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (current - page_start < l_points)
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    constantsTouched: []
    func_position:
      end: 816
      start: 784
    functionDepth: 4
    functionLinenumber: 784
    functionLinenumberEnd: 816
    functionName: draw_points
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    - wnoutrefresh
    - AC
    - wattron
    - wattroff
    - assert
    - werase
    - draw_line
    linkageType: ''
    returnType: void
    signature: void draw_points(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:825,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:828,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:829,1
    - Dst: getmaxx
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:833,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:834,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:834,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:838,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:838,1
    - Dst: wattron
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:840,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:841,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:841,1
    - Dst: wattroff
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:842,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:846,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (help_line == 0)
      pos:
        line_end: 824
        line_start: 824
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (help_line <= bindings_help_len - l_points)
      pos:
        line_end: 828
        line_start: 828
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - condition: (help_line >= 0)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    constantsTouched: []
    func_position:
      end: 847
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 847
    functionName: draw_help
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - mvwprintw
    - wnoutrefresh
    - IC
    - AC
    - wattron
    - getmaxx
    - wattroff
    - assert
    - werase
    linkageType: ''
    returnType: void
    signature: void draw_help(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:855,1
    - Dst: getmaxx
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:858,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:859,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:859,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:861,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:861,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:864,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:864,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:866,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:870,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:870,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:870,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:871,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:874,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:874,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:874,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:876,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:879,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:879,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:883,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:883,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:885,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 886
    functionName: draw_bar_b
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - mvwprintw
    - AN
    - wnoutrefresh
    - bprintf
    - IC
    - AC
    - getmaxx
    - werase
    - strlen
    linkageType: ''
    returnType: void
    signature: void draw_bar_b(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:895,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:895,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:898,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:898,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:900,1
    - Dst: mvwprintw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:900,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:903,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 904
    functionName: draw_info
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - mvwprintw
    - wnoutrefresh
    - IC
    - AC
    - werase
    linkageType: ''
    returnType: void
    signature: void draw_info(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: draw_status
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:909,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:911,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:911,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:912,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:912,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:913,1
    - Dst: werase
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:913,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:914,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:914,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:915,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:915,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:916,1
    - Dst: wnoutrefresh
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:916,1
    - Dst: draw_help
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:917,1
    - Dst: draw_bar_t
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:919,1
    - Dst: draw_points
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:920,1
    - Dst: draw_bar_b
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:921,1
    - Dst: draw_info
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:922,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:924,1
    - Dst: doupdate
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 906
    functionDepth: 5
    functionLinenumber: 906
    functionLinenumberEnd: 926
    functionName: draw_screen
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - draw_points
    - draw_bar_b
    - wnoutrefresh
    - AC
    - draw_info
    - doupdate
    - draw_help
    - draw_status
    - werase
    - draw_bar_t
    linkageType: ''
    returnType: void
    signature: void draw_screen(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:937,1
    - Dst: raise
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:937,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:940,1
    - Dst: raise
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:940,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - kb
    argTypes:
    - enum kb_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 945
    functionName: handle_common_keypress
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - WRONG
    - raise
    - AZ
    linkageType: ''
    returnType: void
    signature: void handle_common_keypress(enum kb_e kb)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:987,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:987,1
    - Dst: VSC_IsRaw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:988,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:997,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1000,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1006,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1009,1
    - Dst: VSC_ChangeLevel
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1012,1
    - Dst: VSC_ChangeLevel
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1016,1
    - Dst: handle_common_keypress
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1028,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1031,1
    - Dst: update_position
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1034,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 81
    argCount: 2
    argNames:
    - vsc
    - kb
    argTypes:
    - struct vsc*
    - enum kb_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 1036
    functionName: handle_points_keypress
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    - handle_common_keypress
    - update_position
    - VSC_IsRaw
    - VSC_ChangeLevel
    - WRONG
    - VTIM_mono
    - snprintf
    - VSC_Arg
    linkageType: ''
    returnType: void
    signature: void handle_points_keypress(struct vsc *vsc, enum kb_e kb)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: handle_common_keypress
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1079,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1082,1
    - Dst: vlimit_t
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1085,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - kb
    argTypes:
    - enum kb_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1087
    functionName: handle_help_keypress
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - vlimit_t
    - handle_common_keypress
    - WRONG
    linkageType: ''
    returnType: void
    signature: void handle_help_keypress(enum kb_e kb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: handle_help_keypress
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1107,1
    - Dst: handle_points_keypress
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vsc
    - ch
    argTypes:
    - struct vsc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1089
    functionDepth: 2
    functionLinenumber: 1089
    functionLinenumberEnd: 1110
    functionName: handle_keypress
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - handle_help_keypress
    - handle_points_keypress
    linkageType: ''
    returnType: void
    signature: void handle_keypress(struct vsc *vsc, int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - chr
    - ','
    - name
    - ','
    - or
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: BINDING_KEY
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDING_KEY(chr, name, or)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1100
    functionName: BINDING
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDING(name, desc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1117,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1118,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1120,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1122,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1127,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1130,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1130,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1132,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1134,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1136,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - priv
    - vpt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1141
    functionName: newpt
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - strcmp
    - VSC_Value
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void newpt(void *priv, const struct VSC_point *const vpt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1148,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1149,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1151,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - priv
    - vpt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1162
    functionName: delpt
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - VTAILQ_REMOVE
    - CAST_OBJ_NOTNULL
    - FREE_OBJ
    - AZ
    linkageType: ''
    returnType: void
    signature: void delpt(void *priv, const struct VSC_point *const vpt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VSC_ChangeLevel
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1171,1
    - Dst: initscr
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1173,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1174,1
    - Dst: raw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1174,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1175,1
    - Dst: noecho
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1175,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1176,1
    - Dst: nonl
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1176,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1177,1
    - Dst: curs_set
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1177,1
    - Dst: make_windows
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1179,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1180,1
    - Dst: doupdate
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1180,1
    - Dst: VSC_State
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1182,1
    - Dst: VSC_IsRaw
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1184,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1186,1
    - Dst: build_pt_array
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1187,1
    - Dst: init_hitrate
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1188,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1191,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1192,1
    - Dst: init_hitrate
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1194,1
    - Dst: build_pt_array
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1196,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1198,1
    - Dst: sample_data
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1202,1
    - Dst: draw_screen
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1204,1
    - Dst: wtimeout
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1207,1
    - Dst: wgetch
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1209,1
    - Dst: make_windows
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1215,1
    - Dst: update_position
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1216,1
    - Dst: handle_keypress
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1220,1
    - Dst: VSC_Destroy
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1224,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1225,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1225,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1226,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1227,1
    - Dst: endwin
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c:1227,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - vsm
    - vsc
    argTypes:
    - struct vsm*
    - struct vsc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1164
    functionDepth: 6
    functionLinenumber: 1164
    functionLinenumberEnd: 1228
    functionName: do_curses
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    functionUses: 0
    functionsReached:
    - VSC_State
    - draw_screen
    - wtimeout
    - AC
    - wgetch
    - VTIM_mono
    - build_pt_array
    - AN
    - update_position
    - VTAILQ_EMPTY
    - IC
    - init_hitrate
    - doupdate
    - VSC_ChangeLevel
    - raw
    - AZ
    - VSC_IsRaw
    - VSC_Iter
    - endwin
    - VSM_Status
    - nonl
    - sample_data
    - VSC_Destroy
    - initscr
    - curs_set
    - handle_keypress
    - make_windows
    - VSM_Destroy
    - noecho
    linkageType: ''
    returnType: void
    signature: void do_curses(struct vsm *vsm, struct vsc *vsc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:69,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:69,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:70,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:72,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:73,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:74,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:75,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:76,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:77,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: do_xml_cb
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - printf
    - VSC_Value
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void do_xml_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:88,1
    - Dst: time
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:89,1
    - Dst: strftime
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:90,1
    - Dst: localtime
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:90,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:91,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:92,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - vsm
    - vsc
    argTypes:
    - struct vsm*
    - struct vsc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: do_xml
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - time
    - localtime
    - VSC_Iter
    - printf
    - strftime
    linkageType: ''
    returnType: void
    signature: void do_xml(struct vsm *vsm, struct vsc *vsc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:108,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:108,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:109,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 125
    functionName: do_json_cb
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - printf
    - VSC_Value
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void do_json_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:135,1
    - Dst: strftime
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:137,1
    - Dst: localtime
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:137,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:138,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:143,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - vsm
    - vsc
    argTypes:
    - struct vsm*
    - struct vsc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: do_json
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - localtime
    - VSC_Iter
    - time
    - strftime
    - printf
    linkageType: ''
    returnType: void
    signature: void do_json(struct vsm *vsm, struct vsc *vsc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:167,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:167,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:168,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: do_once_cb_first
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - VSC_Value
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void do_once_cb_first(void *priv, const struct VSC_point * const pt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:185,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:185,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:186,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:188,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:191,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:193,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 200
    functionName: do_once_cb
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - printf
    - VSC_Value
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void do_once_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSC_New
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:205,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:209,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:209,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:211,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:214,1
    - Dst: VSC_Destroy
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:215,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - vsm
    - vsc
    argTypes:
    - struct vsm*
    - struct vsc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: do_once
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - VSC_Destroy
    - AN
    - memset
    - VSC_New
    - VSC_Iter
    - VSC_Arg
    linkageType: ''
    returnType: void
    signature: void do_once(struct vsm *vsm, struct vsc *vsc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:232,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:234,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: do_list_cb
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_list_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:242,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:243,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:244,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vsm
    - vsc
    argTypes:
    - struct vsm*
    - struct vsc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: list_fields
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - VSC_Iter
    - printf
    linkageType: ''
    returnType: void
    signature: void list_fields(struct vsm *vsm, struct vsc *vsc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:256,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:257,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:259,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: v_noreturn_::usage
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      usage(int status)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: key_bindings
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int key_bindings(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - chr
    - ','
    - name
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: BINDING_KEY
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDING_KEY(chr, name, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: BINDING
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDING(name, desc)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:284,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:285,1
    - Dst: key_bindings
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:285,1
    - Dst: VUT_InitProg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:287,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:288,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:289,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:290,1
    - Dst: VSC_New
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:291,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:292,1
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:294,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:304,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:318,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:318,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:322,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:322,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:325,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:325,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:328,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:330,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:330,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:332,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:337,1
    - Dst: isatty
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:340,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:344,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:345,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:345,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:349,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:349,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:350,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:350,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:351,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:351,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:352,1
    - Dst: VSC_Arg
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:352,1
    - Dst: do_curses
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:354,1
    - Dst: do_xml
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:357,1
    - Dst: do_json
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:359,1
    - Dst: do_once
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:361,1
    - Dst: list_fields
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:363,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:365,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinylstat/vinylstat.c:367,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 368
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    functionUses: 0
    functionsReached:
    - do_json
    - key_bindings
    - VUT_InitProg
    - AN
    - VSM_New
    - VUT_Arg
    - VSM_Error
    - exit
    - WRONG
    - do_once
    - VSC_New
    - VUT_Error
    - strcmp
    - VSM_Arg
    - VSM_Attach
    - VSC_Arg
    - do_curses
    - isatty
    - list_fields
    - usage
    - getopt
    - do_xml
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:111,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:111,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:117,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:122,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:124,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:124,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: vinyl_fatal_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - memset
    - PTOK
    - pthread_equal
    - poll
    - pthread_join
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void vinyl_fatal_cleanup(const struct vinyl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: vinyl_fatal
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vinyl_fatal(v, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:151,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:152,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:152,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:153,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:154,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:155,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:156,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:158,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:159,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:161,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:163,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:165,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:166,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - v
    - cmd
    - repl
    argTypes:
    - struct vinyl*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 172
    functionName: vinyl_ask_cli
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - strerror
    - write
    - vtc_dump
    - vinyl_fatal
    - VCLI_ReadResult
    - vtc_log
    - strlen
    - free
    linkageType: ''
    returnType: enum VCLI_status_e
    signature: enum VCLI_status_e vinyl_ask_cli(const struct vinyl *v, const char
      *cmd, char **repl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:184,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:186,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:188,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:190,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:191,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:194,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: wait_stopped
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vinyl_ask_cli
    - vinyl_fatal
    - vtc_log
    - VTIM_sleep
    - free
    linkageType: ''
    returnType: void
    signature: void wait_stopped(const struct vinyl *v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:210,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:211,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:213,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:215,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:216,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:218,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:219,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:221,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:223,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:225,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:228,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: wait_running
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - strcmp
    - vinyl_ask_cli
    - vinyl_fatal
    - vtc_log
    - VTIM_sleep
    - free
    linkageType: ''
    returnType: void
    signature: void wait_running(const struct vinyl *v)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:252,1
    - Dst: VSL_New
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:254,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:255,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:264,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:265,1
    - Dst: VSL_CursorVSM
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:266,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:268,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:268,1
    - Dst: VSL_ResetError
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:269,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:273,1
    - Dst: VSL_Next
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:278,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:284,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:285,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:289,1
    - Dst: VSL_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:290,1
    - Dst: VSL_BACKEND
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:291,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:293,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:297,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:298,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:299,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:300,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:300,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:302,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:304,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:306,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:314,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:317,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:320,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:324,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:331,1
    - Dst: VSL_Delete
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:332,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:334,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 337
    functionName: vinyllog_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - VSL_ResetError
    - VSB_finish
    - VSL_TAG
    - VSB_quote
    - VSL_CLIENT
    - VSB_clear
    - VSL_CursorVSM
    - VSL_New
    - AN
    - VSL_LEN
    - VSL_Delete
    - VSL_Next
    - VSL_CDATA
    - CAST_OBJ_NOTNULL
    - vtc_log
    - VSB_data
    - VTIM_sleep
    - AZ
    - VSM_Status
    - VSL_DeleteCursor
    - VSB_new_auto
    - VSL_BACKEND
    - VSL_Error
    - VSB_destroy
    - VSL_ID
    linkageType: ''
    returnType: void
    signature: 'void *

      vinyllog_thread(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:350,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:351,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:352,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:354,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:356,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:357,1
    - Dst: macro_expandf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:359,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:360,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:361,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:361,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:362,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:363,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:365,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:366,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:366,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:368,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 374
    functionName: vinyl_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_new_auto
    - bprintf
    - vtc_logopen
    - REPLACE
    - strdup
    - AZ
    - macro_expandf
    - system
    - VTAILQ_INSERT_TAIL
    - VSB_data
    - ALLOC_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: struct vinyl
    signature: 'struct vinyl *

      vinyl_new(const char *name)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:384,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:385,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:386,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:387,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:388,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:389,1
    - Dst: VSC_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:391,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:393,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:395,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 406
    functionName: vinyl_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - VSC_Destroy
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - VSM_Destroy
    - vtc_logclose
    - free
    linkageType: ''
    returnType: void
    signature: void vinyl_delete(struct vinyl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:417,1
    - Dst: vtc_record
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: vinyl_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - vtc_record
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      vinyl_thread(void *priv)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:439,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:441,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:442,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:443,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:445,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:445,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:446,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:447,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:448,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:449,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:450,1
    - Dst: macro_isdef
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:452,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:453,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:454,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:456,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:456,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:458,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:459,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:460,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:462,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:463,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:464,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:465,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:466,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:467,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:468,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:469,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:471,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:473,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:475,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:476,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:478,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:479,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:479,1
    - Dst: macro_isdef
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:480,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:481,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:482,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:484,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:484,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:485,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:485,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:486,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:486,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:487,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:488,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:490,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:490,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:491,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:491,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:492,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:492,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:493,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:494,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:496,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:496,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:497,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:497,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:498,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:498,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:499,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:500,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:501,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:502,1
    - Dst: VSUB_closefrom
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:503,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:504,1
    - Dst: execl
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:504,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:504,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:505,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:507,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:508,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:509,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:511,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:512,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:515,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:516,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:518,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:518,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:521,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:528,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:529,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:532,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:534,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:536,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:537,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:538,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:540,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:544,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:545,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:548,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:552,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:554,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:555,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:556,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:558,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:559,1
    - Dst: VCLI_AuthResponse
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:560,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:561,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:562,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:564,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:566,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:570,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:571,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:573,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:574,1
    - Dst: VSC_New
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:575,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:576,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:577,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:577,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:578,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:578,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:580,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:581,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:581,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:582,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:582,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:584,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:584,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 132
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts:
    - condition: (asock > 0)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (VSM_Arg(v->vsm_vsl, 'n', v->workdir) > 0)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (sizeof lbuf >= CLI_AUTH_RESPONSE_LEN + 7)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (VSM_Arg(v->vsm_vsc, 'n', v->workdir) > 0)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (nfd >= 0)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (dup2(1, 2) == 2)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (dup2(v->fds[3], 1) == 1)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (v->pid >= 0)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - condition: (v->cli_fd >= 0)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    constantsTouched: []
    func_position:
      end: 585
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 585
    functionName: vinyl_launch
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - bstrcpy
    - VSB_printf
    - dup2
    - pthread_create
    - poll
    - open
    - accept
    - fork
    - strcat
    - AN
    - VSB_putc
    - VSM_New
    - macro_cat
    - memset
    - exit
    - vinyl_ask_cli
    - pipe
    - vtc_log
    - VSB_data
    - execl
    - VSUB_closefrom
    - VTCP_listen_on
    - closefd
    - bprintf
    - macro_def
    - VSC_New
    - AZ
    - assert
    - PTOK
    - vinyl_fatal
    - VSM_Arg
    - macro_expand
    - VTCP_myname
    - VSM_Attach
    - VSB_new_auto
    - macro_isdef
    - free
    - VSB_cat
    - VCLI_AuthResponse
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vinyl_launch(struct vinyl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: VINYL_LAUNCH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VINYL_LAUNCH(v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:612,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:613,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:616,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:617,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:620,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:621,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:625,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:626,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:627,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:630,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:633,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:634,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:636,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:640,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:641,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:642,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:643,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:647,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:650,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:651,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:652,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:653,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:654,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - v
    - la
    argTypes:
    - struct vinyl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 658
    functionName: vinyl_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - AN
    - bprintf
    - strcmp
    - strchr
    - vtc_log
    - macro_def
    linkageType: ''
    returnType: void
    signature: void vinyl_listen(const struct vinyl *v, char *la)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:666,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:667,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:668,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:672,1
    - Dst: wait_running
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:673,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:674,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:676,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:680,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:682,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:684,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:688,1
    - Dst: vinyl_listen
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:690,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:691,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 695
    functionName: vinyl_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - wait_running
    - vinyl_ask_cli
    - vinyl_fatal
    - VINYL_LAUNCH
    - free
    - VTIM_sleep
    - vtc_log
    - vinyl_listen
    linkageType: ''
    returnType: void
    signature: void vinyl_start(struct vinyl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:705,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:706,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:707,1
    - Dst: wait_stopped
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: vinyl_stop
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - VINYL_LAUNCH
    - vinyl_ask_cli
    - vtc_log
    - wait_stopped
    linkageType: ''
    returnType: void
    signature: void vinyl_stop(struct vinyl *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:721,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:724,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:727,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:728,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:728,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:729,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:733,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:733,1
    - Dst: vtc_wait4
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 737
    functionName: vinyl_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - AN
    - PTOK
    - vtc_wait4
    - pthread_join
    - closefd
    linkageType: ''
    returnType: void
    signature: void vinyl_cleanup(struct vinyl *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:749,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:753,1
    - Dst: vinyl_stop
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:757,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:759,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:760,1
    - Dst: vinyl_cleanup
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 763
    functionName: vinyl_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - vinyl_ask_cli
    - vinyl_fatal
    - vtc_log
    - vinyl_cleanup
    - vinyl_stop
    linkageType: ''
    returnType: void
    signature: void vinyl_wait(struct vinyl *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:778,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:779,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:780,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:782,1
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:784,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:786,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:787,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - v
    - cli
    argTypes:
    - struct vinyl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 789
    functionName: vinyl_cli_json
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - vjsn_parse
    - vinyl_ask_cli
    - vinyl_fatal
    - VINYL_LAUNCH
    - vjsn_delete
    - free
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void vinyl_cli_json(struct vinyl *v, const char *cli)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:805,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:807,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:809,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:809,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:810,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:810,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:811,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:811,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:812,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:813,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:817,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:818,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:820,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:822,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:824,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:824,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:825,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:825,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:826,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:826,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:827,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:828,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:831,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:835,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:837,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - v
    - cli
    - exp
    - re
    - neg
    argTypes:
    - struct vinyl*
    - char*
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 838
    functionName: vinyl_cli
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - VSB_finish
    - VRE_free
    - AZ
    - VRE_match
    - vinyl_ask_cli
    - vinyl_fatal
    - VINYL_LAUNCH
    - free
    - VRE_error
    - vtc_log
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: "void vinyl_cli(struct vinyl *v, const char *cli, unsigned exp, const
      char *re,\n    int neg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:850,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:851,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:852,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:854,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:856,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:856,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:858,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:858,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:860,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:861,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:862,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:862,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:863,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:863,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:866,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:867,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:869,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:870,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:872,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - v
    - vcl
    - fail
    - resp
    argTypes:
    - struct vinyl*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 874
    functionName: vinyl_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - AZ
    - vtc_log
    - vinyl_ask_cli
    - vinyl_fatal
    - VINYL_LAUNCH
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vinyl_vcl(struct vinyl *v, const char *vcl, int fail, char **resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:886,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:887,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:888,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:890,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:891,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:893,1
    - Dst: cmd_server_gen_vcl
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:895,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:897,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:897,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:899,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:900,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:901,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:901,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:903,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:903,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:905,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:906,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:907,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:909,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:910,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:911,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:911,1
    - Dst: vinyl_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:912,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:912,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:913,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:914,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - v
    - vcl
    argTypes:
    - struct vinyl*
    - char*
    assertStmts:
    - condition: (u == CLIS_OK)
      pos:
        line_end: 912
        line_start: 912
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    constantsTouched: []
    func_position:
      end: 916
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 916
    functionName: vinyl_vclbackend
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - cmd_server_gen_vcl
    - AN
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - AZ
    - assert
    - vinyl_ask_cli
    - vinyl_fatal
    - VINYL_LAUNCH
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vinyl_vclbackend(struct vinyl *v, const char *vcl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:938,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:940,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:942,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:943,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 949
    functionName: do_stat_dump_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - fnmatch
    - VSC_Value
    - strcmp
    linkageType: ''
    returnType: int
    signature: int do_stat_dump_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:956,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:957,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:960,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - v
    - arg
    argTypes:
    - struct vinyl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 962
    functionName: vinyl_vsc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - VINYL_LAUNCH
    - VSC_Iter
    - memset
    - VSM_Status
    linkageType: ''
    returnType: void
    signature: void vinyl_vsc(struct vinyl *v, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:983,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:984,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 989
    functionName: stat_match
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - fnmatch
    - strchr
    linkageType: ''
    returnType: int
    signature: int stat_match(const char *pattern, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat_match
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:999,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1000,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1000,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1001,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1002,1
    - Dst: stat_match
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1009,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1010,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1010,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1011,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1012,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1017
    functionName: do_expect_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - AN
    - stat_match
    - strcmp
    - AZ
    - VSC_Value
    linkageType: ''
    returnType: int
    signature: int do_expect_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1030,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1031,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1036,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1038,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1039,1
    - Dst: strtoumax
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1040,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1049,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1050,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1052,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1059,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1062,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1063,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1064,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1065,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1066,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1067,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1069,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1074,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1074,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1078,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1081,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1086,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1089,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - v
    - av
    argTypes:
    - struct vinyl*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1092
    functionName: vinyl_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - AN
    - usleep
    - VSM_Error
    - AZ
    - strcmp
    - VSC_Iter
    - vinyl_fatal
    - ZERO_OBJ
    - VSM_Status
    - VINYL_LAUNCH
    - strtoumax
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void vinyl_expect(struct vinyl *v, char * const *av)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VINYL_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1099,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct vinyl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1103
    functionName: vsl_catchup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - VINYL_LAUNCH
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void vsl_catchup(struct vinyl *v)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1245,1
    - Dst: vinyl_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1247,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1248,1
    - Dst: vinyl_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1249,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1258,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1259,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1260,1
    - Dst: vinyl_new
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1263,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1264,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1265,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1273,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1274,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1275,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1276,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1277,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1283,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1284,1
    - Dst: vinyl_cleanup
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1285,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1288,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1289,1
    - Dst: vinyl_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1290,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1294,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1295,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1296,1
    - Dst: vinyl_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1297,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1297,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1301,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1304,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1305,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1309,1
    - Dst: vinyl_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1311,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1315,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1316,1
    - Dst: vinyl_cli_json
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1317,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1321,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1322,1
    - Dst: vinyl_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1323,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1327,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1329,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1330,1
    - Dst: vinyl_vcl
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1331,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1332,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1333,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1337,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1340,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1344,1
    - Dst: vinyl_expect
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1346,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1350,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1351,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1355,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1356,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1357,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1358,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1362,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1363,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1364,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1365,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1369,1
    - Dst: vinyl_start
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1370,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1373,1
    - Dst: vinyl_stop
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1374,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1377,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1378,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1379,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1383,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1384,1
    - Dst: vinyl_vcl
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1385,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1389,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1390,1
    - Dst: vinyl_vclbackend
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1391,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1395,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1396,1
    - Dst: vinyl_vsc
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1397,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1401,1
    - Dst: wait_stopped
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1402,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1405,1
    - Dst: wait_running
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1406,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1409,1
    - Dst: vinyl_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1410,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1413,1
    - Dst: vsl_catchup
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1414,1
    - Dst: vinyl_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c:1417,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 165
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1235
    functionDepth: 4
    functionLinenumber: 1235
    functionLinenumberEnd: 1419
    functionName: cmd_vinyl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    functionUses: 0
    functionsReached:
    - vinyl_wait
    - vinyl_vsc
    - vinyl_delete
    - vinyl_cli_json
    - vinyl_cleanup
    - strtod
    - AN
    - strdup
    - REPLACE
    - vsl_catchup
    - VTAILQ_REMOVE
    - vtc_log
    - VTAILQ_FOREACH
    - vinyl_vclbackend
    - vinyl_cli
    - VTC_CHECK_NAME
    - wait_running
    - strtoul
    - strcmp
    - AZ
    - vinyl_fatal
    - wait_stopped
    - atoi
    - VTAILQ_FOREACH_SAFE
    - vinyl_start
    - strstr
    - free
    - vinyl_new
    - vinyl_expect
    - VSB_cat
    - vinyl_vcl
    - vinyl_stop
    linkageType: ''
    returnType: void
    signature: void cmd_vinyl(CMD_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:56,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:57,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:59,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:69,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:72,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:77,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:78,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:78,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - vl
    - arg
    argTypes:
    - struct vtclog*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: vtc_hex_to_bin
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - VSB_finish
    - vtc_fatal
    - vct_issp
    - AZ
    - VSB_new_auto
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      vtc_hex_to_bin(struct vtclog *vl, const char *arg)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:101,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:101,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:102,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:104,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:104,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:105,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:105,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:106,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:106,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:107,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:108,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:111,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:113,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:114,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:115,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:116,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:117,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:118,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:119,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:119,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:120,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:121,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:121,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:122,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:123,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:123,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:124,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:125,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:125,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:126,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:127,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:127,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:128,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:129,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:129,1
    - Dst: VNUM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:134,1
    - Dst: VNUM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:135,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:136,1
    - Dst: isless
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:137,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:138,1
    - Dst: isgreater
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:139,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:140,1
    - Dst: islessequal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:141,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:142,1
    - Dst: isgreaterequal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:143,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:147,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:151,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:154,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 6
    argNames:
    - vl
    - olhs
    - lhs
    - cmp
    - orhs
    - rhs
    argTypes:
    - struct vtclog*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 156
    functionName: vtc_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - VSB_finish
    - strtoul
    - vtc_fatal
    - VRE_free
    - VNUM
    - AZ
    - strcmp
    - VRE_match
    - isgreater
    - isgreaterequal
    - vtc_log
    - islessequal
    - VRE_error
    - isless
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: "void vtc_expect(struct vtclog *vl,\n    const char *olhs, const char
      *lhs,\n    const char *cmp,\n    const char *orhs, const char *rhs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wait4
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:174,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:176,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:177,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:178,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:179,1
    - Dst: WIFEXITED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:185,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:186,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:192,1
    - Dst: WCOREDUMP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:192,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:193,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:195,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:197,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:199,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:200,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:200,1
    - Dst: WCOREDUMP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - vl
    - pid
    - expect_status
    - expect_signal
    - allow_core
    argTypes:
    - struct vtclog*
    - long
    - int
    - int
    - int
    assertStmts:
    - condition: (r == pid)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c
    constantsTouched: []
    func_position:
      end: 202
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 202
    functionName: vtc_wait4
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c
    functionUses: 1
    functionsReached:
    - WIFSIGNALED
    - vtc_fatal
    - WCOREDUMP
    - wait4
    - WEXITSTATUS
    - strerror
    - assert
    - WIFEXITED
    - WTERMSIG
    - vtc_log
    linkageType: ''
    returnType: void
    signature: "void vtc_wait4(struct vtclog *vl, long pid,\n    int expect_status,
      int expect_signal, int allow_core)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:212,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:215,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:217,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:219,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:222,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - vl
    - fd
    - vsb
    argTypes:
    - struct vtclog*
    - int
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: vtc_record
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c
    functionUses: 1
    functionsReached:
    - strerror
    - vtc_dump
    - VSB_bcat
    - vtc_log
    - read
    linkageType: ''
    returnType: void
    signature: 'void *

      vtc_record(struct vtclog *vl, int fd, struct vsb *vsb)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:110,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:110,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:116,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:121,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:123,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:123,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: varnish_fatal_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - memset
    - PTOK
    - pthread_equal
    - poll
    - pthread_join
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void varnish_fatal_cleanup(const struct varnish *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: varnish_fatal
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: varnish_fatal(v, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:150,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:151,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:151,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:152,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:153,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:154,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:155,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:157,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:158,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:160,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:162,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:164,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:165,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - v
    - cmd
    - repl
    argTypes:
    - struct varnish*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: varnish_ask_cli
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - varnish_fatal
    - strerror
    - write
    - vtc_dump
    - VCLI_ReadResult
    - vtc_log
    - strlen
    - free
    linkageType: ''
    returnType: enum VCLI_status_e
    signature: enum VCLI_status_e varnish_ask_cli(const struct varnish *v, const char
      *cmd, char **repl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:183,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:185,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:187,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:189,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:190,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:193,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: wait_stopped
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 2
    functionsReached:
    - varnish_fatal
    - strcmp
    - varnish_ask_cli
    - vtc_log
    - VTIM_sleep
    - free
    linkageType: ''
    returnType: void
    signature: void wait_stopped(const struct varnish *v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:209,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:210,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:212,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:214,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:215,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:217,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:218,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:220,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:222,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:224,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:227,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: wait_running
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 2
    functionsReached:
    - varnish_fatal
    - strcmp
    - varnish_ask_cli
    - vtc_log
    - VTIM_sleep
    - free
    linkageType: ''
    returnType: void
    signature: void wait_running(const struct varnish *v)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:251,1
    - Dst: VSL_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:253,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:254,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:263,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:264,1
    - Dst: VSL_CursorVSM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:265,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:267,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:267,1
    - Dst: VSL_ResetError
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:268,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:272,1
    - Dst: VSL_Next
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:277,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:283,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:284,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:288,1
    - Dst: VSL_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:289,1
    - Dst: VSL_BACKEND
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:290,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:292,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:296,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:297,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:298,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:299,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:299,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:301,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:303,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:305,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:313,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:316,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:319,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:323,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:330,1
    - Dst: VSL_Delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:331,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:333,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 336
    functionName: varnishlog_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - VSL_ResetError
    - VSB_finish
    - VSL_TAG
    - VSB_quote
    - VSL_CLIENT
    - VSB_clear
    - VSL_CursorVSM
    - VSL_New
    - AN
    - VSL_LEN
    - VSL_Delete
    - VSL_Next
    - VSL_CDATA
    - CAST_OBJ_NOTNULL
    - vtc_log
    - VSB_data
    - VTIM_sleep
    - AZ
    - VSM_Status
    - VSL_DeleteCursor
    - VSB_new_auto
    - VSL_BACKEND
    - VSL_Error
    - VSB_destroy
    - VSL_ID
    linkageType: ''
    returnType: void
    signature: 'void *

      varnishlog_thread(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:349,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:350,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:351,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:353,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:355,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:356,1
    - Dst: macro_expandf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:358,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:359,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:360,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:360,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:361,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:362,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:364,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:365,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:365,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:367,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 373
    functionName: varnish_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_new_auto
    - bprintf
    - vtc_logopen
    - REPLACE
    - strdup
    - AZ
    - macro_expandf
    - system
    - VTAILQ_INSERT_TAIL
    - VSB_data
    - ALLOC_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: struct varnish
    signature: 'struct varnish *

      varnish_new(const char *name)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:383,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:384,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:385,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:386,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:387,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:388,1
    - Dst: VSC_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:390,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:392,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:394,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 405
    functionName: varnish_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - VSC_Destroy
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - VSM_Destroy
    - vtc_logclose
    - free
    linkageType: ''
    returnType: void
    signature: void varnish_delete(struct varnish *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:416,1
    - Dst: vtc_record
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: varnish_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - vtc_record
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      varnish_thread(void *priv)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:438,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:440,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:441,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:442,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:444,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:444,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:445,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:446,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:447,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:448,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:449,1
    - Dst: macro_isdef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:451,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:452,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:453,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:455,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:455,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:457,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:458,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:459,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:461,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:462,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:463,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:464,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:465,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:466,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:467,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:468,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:470,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:472,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:474,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:475,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:477,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:478,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:478,1
    - Dst: macro_isdef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:479,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:480,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:481,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:483,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:483,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:484,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:484,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:485,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:485,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:486,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:487,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:489,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:489,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:490,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:490,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:491,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:491,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:492,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:493,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:495,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:495,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:496,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:496,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:497,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:497,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:498,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:499,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:500,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:501,1
    - Dst: VSUB_closefrom
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:502,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:503,1
    - Dst: execl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:503,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:503,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:504,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:506,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:507,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:508,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:510,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:511,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:514,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:515,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:517,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:517,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:520,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:527,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:528,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:531,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:533,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:535,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:536,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:537,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:539,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:543,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:544,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:547,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:551,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:553,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:554,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:555,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:557,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:558,1
    - Dst: VCLI_AuthResponse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:559,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:560,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:561,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:563,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:565,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:569,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:570,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:572,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:573,1
    - Dst: VSC_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:574,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:575,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:576,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:576,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:577,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:577,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:579,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:580,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:580,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:581,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:581,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:583,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:583,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 132
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts:
    - condition: (VSM_Arg(v->vsm_vsc, 'n', v->workdir) > 0)
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (dup2(1, 2) == 2)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (nfd >= 0)
      pos:
        line_end: 554
        line_start: 554
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (asock > 0)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (v->cli_fd >= 0)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (v->pid >= 0)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (dup2(v->fds[3], 1) == 1)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (VSM_Arg(v->vsm_vsl, 'n', v->workdir) > 0)
      pos:
        line_end: 579
        line_start: 579
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - condition: (sizeof lbuf >= CLI_AUTH_RESPONSE_LEN + 7)
      pos:
        line_end: 556
        line_start: 556
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    constantsTouched: []
    func_position:
      end: 584
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 584
    functionName: varnish_launch
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - bstrcpy
    - VSB_printf
    - dup2
    - pthread_create
    - poll
    - open
    - accept
    - fork
    - strcat
    - AN
    - VSB_putc
    - VSM_New
    - macro_cat
    - memset
    - exit
    - pipe
    - vtc_log
    - VSB_data
    - execl
    - VSUB_closefrom
    - VTCP_listen_on
    - closefd
    - bprintf
    - macro_def
    - VSC_New
    - varnish_fatal
    - AZ
    - assert
    - PTOK
    - varnish_ask_cli
    - VSM_Arg
    - macro_expand
    - VTCP_myname
    - VSM_Attach
    - VSB_new_auto
    - macro_isdef
    - free
    - VSB_cat
    - VCLI_AuthResponse
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void varnish_launch(struct varnish *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: VARNISH_LAUNCH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARNISH_LAUNCH(v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:611,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:612,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:615,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:616,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:619,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:620,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:624,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:625,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:626,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:629,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:632,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:633,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:635,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:639,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:640,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:641,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:642,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:646,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:649,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:650,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:651,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:652,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:653,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - v
    - la
    argTypes:
    - struct varnish*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 657
    functionName: varnish_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - AN
    - bprintf
    - strcmp
    - strchr
    - vtc_log
    - macro_def
    linkageType: ''
    returnType: void
    signature: void varnish_listen(const struct varnish *v, char *la)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:665,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:666,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:667,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:671,1
    - Dst: wait_running
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:672,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:673,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:675,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:679,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:681,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:683,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:687,1
    - Dst: varnish_listen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:689,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:690,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:693,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 694
    functionName: varnish_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - wait_running
    - varnish_listen
    - varnish_fatal
    - varnish_ask_cli
    - vtc_log
    - VTIM_sleep
    - VARNISH_LAUNCH
    - free
    linkageType: ''
    returnType: void
    signature: void varnish_start(struct varnish *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:704,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:705,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:706,1
    - Dst: wait_stopped
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 708
    functionName: varnish_stop
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - varnish_ask_cli
    - VARNISH_LAUNCH
    - wait_stopped
    linkageType: ''
    returnType: void
    signature: void varnish_stop(struct varnish *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:720,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:723,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:726,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:727,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:727,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:728,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:732,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:732,1
    - Dst: vtc_wait4
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 736
    functionName: varnish_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - AN
    - PTOK
    - vtc_wait4
    - pthread_join
    - closefd
    linkageType: ''
    returnType: void
    signature: void varnish_cleanup(struct varnish *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:748,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:752,1
    - Dst: varnish_stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:756,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:758,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:759,1
    - Dst: varnish_cleanup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 762
    functionName: varnish_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - varnish_cleanup
    - varnish_fatal
    - varnish_stop
    - varnish_ask_cli
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void varnish_wait(struct varnish *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:777,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:778,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:779,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:781,1
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:783,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:785,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:786,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - v
    - cli
    argTypes:
    - struct varnish*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 788
    functionName: varnish_cli_json
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - varnish_fatal
    - varnish_ask_cli
    - vjsn_parse
    - vtc_log
    - vjsn_delete
    - VARNISH_LAUNCH
    - free
    linkageType: ''
    returnType: void
    signature: void varnish_cli_json(struct varnish *v, const char *cli)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:804,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:806,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:808,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:808,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:809,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:809,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:810,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:810,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:811,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:812,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:816,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:817,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:819,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:821,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:823,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:823,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:824,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:824,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:825,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:825,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:826,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:827,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:830,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:834,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:836,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - v
    - cli
    - exp
    - re
    - neg
    argTypes:
    - struct varnish*
    - char*
    - unsigned
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 837
    functionName: varnish_cli
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - VSB_finish
    - VRE_free
    - varnish_fatal
    - AZ
    - VRE_match
    - varnish_ask_cli
    - vtc_log
    - VRE_error
    - VARNISH_LAUNCH
    - free
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: "void varnish_cli(struct varnish *v, const char *cli, unsigned exp,
      const char *re,\n    int neg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:849,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:850,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:851,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:853,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:855,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:855,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:857,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:857,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:859,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:860,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:861,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:861,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:862,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:862,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:865,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:866,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:868,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:869,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:871,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - v
    - vcl
    - fail
    - resp
    argTypes:
    - struct varnish*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 873
    functionName: varnish_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - varnish_fatal
    - AZ
    - varnish_ask_cli
    - vtc_log
    - VSB_data
    - VSB_new_auto
    - VARNISH_LAUNCH
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void varnish_vcl(struct varnish *v, const char *vcl, int fail, char
      **resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:885,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:886,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:887,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:889,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:890,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:892,1
    - Dst: cmd_server_gen_vcl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:894,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:896,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:896,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:898,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:899,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:900,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:900,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:902,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:902,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:904,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:905,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:906,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:908,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:909,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:910,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:910,1
    - Dst: varnish_ask_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:911,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:911,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:912,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:913,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - v
    - vcl
    argTypes:
    - struct varnish*
    - char*
    assertStmts:
    - condition: (u == CLIS_OK)
      pos:
        line_end: 911
        line_start: 911
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    constantsTouched: []
    func_position:
      end: 915
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 915
    functionName: varnish_vclbackend
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - cmd_server_gen_vcl
    - AN
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - varnish_fatal
    - AZ
    - assert
    - varnish_ask_cli
    - VSB_data
    - VSB_new_auto
    - VARNISH_LAUNCH
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void varnish_vclbackend(struct varnish *v, const char *vcl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:937,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:939,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:941,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:942,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 948
    functionName: do_stat_dump_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - fnmatch
    - VSC_Value
    - strcmp
    linkageType: ''
    returnType: int
    signature: int do_stat_dump_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:955,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:956,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:959,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - v
    - arg
    argTypes:
    - struct varnish*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 961
    functionName: varnish_vsc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - VSC_Iter
    - memset
    - VARNISH_LAUNCH
    - VSM_Status
    linkageType: ''
    returnType: void
    signature: void varnish_vsc(struct varnish *v, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:982,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:983,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pattern
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 988
    functionName: stat_match
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 1
    functionsReached:
    - fnmatch
    - strchr
    linkageType: ''
    returnType: int
    signature: int stat_match(const char *pattern, const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:998,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:999,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:999,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1000,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1001,1
    - Dst: stat_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1008,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1009,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1009,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1010,1
    - Dst: VSC_Value
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - priv
    - pt
    argTypes:
    - void*
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1016
    functionName: do_expect_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - AN
    - stat_match
    - strcmp
    - AZ
    - VSC_Value
    linkageType: ''
    returnType: int
    signature: int do_expect_cb(void *priv, const struct VSC_point * const pt)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1029,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1030,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1035,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1037,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1038,1
    - Dst: strtoumax
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1039,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1048,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1049,1
    - Dst: VSC_Iter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1051,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1058,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1061,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1062,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1063,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1064,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1065,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1066,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1068,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1073,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1073,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1077,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1080,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1085,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1088,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - v
    - av
    argTypes:
    - struct varnish*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1091
    functionName: varnish_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - AN
    - usleep
    - VSM_Error
    - varnish_fatal
    - AZ
    - strcmp
    - VSC_Iter
    - ZERO_OBJ
    - VSM_Status
    - vtc_log
    - strtoumax
    - VARNISH_LAUNCH
    linkageType: ''
    returnType: void
    signature: void varnish_expect(struct varnish *v, char * const *av)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VARNISH_LAUNCH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1098,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct varnish*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1102
    functionName: vsl_catchup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 1
    functionsReached:
    - VTIM_sleep
    - VARNISH_LAUNCH
    linkageType: ''
    returnType: void
    signature: void vsl_catchup(struct varnish *v)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1243,1
    - Dst: varnish_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1245,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1246,1
    - Dst: varnish_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1247,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1252,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1252,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1255,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1256,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1257,1
    - Dst: varnish_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1260,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1267,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1268,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1269,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1270,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1271,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1277,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1278,1
    - Dst: varnish_cleanup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1279,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1282,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1283,1
    - Dst: varnish_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1284,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1288,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1289,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1290,1
    - Dst: varnish_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1291,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1291,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1295,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1298,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1299,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1303,1
    - Dst: varnish_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1305,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1309,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1310,1
    - Dst: varnish_cli_json
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1311,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1315,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1316,1
    - Dst: varnish_cli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1317,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1321,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1323,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1324,1
    - Dst: varnish_vcl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1325,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1326,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1327,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1331,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1334,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1338,1
    - Dst: varnish_expect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1340,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1344,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1345,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1349,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1350,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1351,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1352,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1356,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1357,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1358,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1359,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1363,1
    - Dst: varnish_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1364,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1367,1
    - Dst: varnish_stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1368,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1371,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1372,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1373,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1377,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1378,1
    - Dst: varnish_vcl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1379,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1383,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1384,1
    - Dst: varnish_vclbackend
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1385,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1389,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1390,1
    - Dst: varnish_vsc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1391,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1395,1
    - Dst: wait_stopped
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1396,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1399,1
    - Dst: wait_running
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1400,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1403,1
    - Dst: varnish_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1404,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1407,1
    - Dst: vsl_catchup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1408,1
    - Dst: varnish_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c:1411,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 162
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1234
    functionDepth: 4
    functionLinenumber: 1234
    functionLinenumberEnd: 1413
    functionName: cmd_varnish
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    functionUses: 0
    functionsReached:
    - varnish_cleanup
    - varnish_cli
    - strtod
    - AN
    - REPLACE
    - vsl_catchup
    - vtc_log
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH
    - varnish_expect
    - varnish_vclbackend
    - VTC_CHECK_NAME
    - varnish_new
    - varnish_vsc
    - wait_running
    - varnish_cli_json
    - strtoul
    - varnish_fatal
    - varnish_delete
    - AZ
    - strcmp
    - varnish_stop
    - varnish_start
    - wait_stopped
    - atoi
    - VTAILQ_FOREACH_SAFE
    - strstr
    - free
    - varnish_wait
    - varnish_vcl
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void cmd_varnish(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:57,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:58,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - vl
    - name
    argTypes:
    - struct vtclog*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: Sess_New
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    functionUses: 0
    functionsReached:
    - REPLACE
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vtc_sess
    signature: 'struct vtc_sess *

      Sess_New(struct vtclog *vl, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:70,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:71,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vspp
    argTypes:
    - struct vtc_sess**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: Sess_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - REPLACE
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void Sess_Destroy(struct vtc_sess **vspp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:82,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:84,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:85,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:86,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:87,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:90,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:91,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:92,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - vsp
    - avp
    argTypes:
    - struct vtc_sess*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: Sess_GetOpt
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    functionUses: 0
    functionsReached:
    - atoi
    - AN
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: int
    signature: int Sess_GetOpt(struct vtc_sess *vsp, char * const **avp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:108,1
    - Dst: http_process
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vl
    - vsp
    - spec
    - sock
    - sfd
    - addr
    argTypes:
    - struct vtclog*
    - struct vtc_sess*
    - char*
    - int*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: sess_process
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    functionUses: 0
    functionsReached:
    - http_process
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void sess_process(struct vtclog *vl, struct vtc_sess *vsp,\n    const
      char *spec, int *sock, int *sfd, const char *addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:121,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:123,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:126,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:127,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:128,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:130,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:131,1
    - Dst: struct thread_arg::conn_f
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:135,1
    - Dst: sess_process
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:136,1
    - Dst: struct thread_arg::disc_f
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:139,1
    - Dst: struct thread_arg::disc_f
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:142,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:143,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:144,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (vsp->repeat > 0)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    constantsTouched: []
    func_position:
      end: 147
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 147
    functionName: sess_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    functionUses: 0
    functionsReached:
    - struct thread_arg::conn_f
    - sess_process
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - vtc_logopen
    - struct thread_arg::disc_f
    - CAST_OBJ_NOTNULL
    - assert
    - vtc_log
    - pthread_cleanup_push
    - pthread_cleanup_pop
    - vtc_logclose
    linkageType: ''
    returnType: void
    signature: 'void *

      sess_thread(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:163,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:164,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:165,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:166,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:167,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:168,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:169,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:178,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 7
    argNames:
    - priv
    - vsp
    - conn
    - disc
    - listen_addr
    - asocket
    - spec
    argTypes:
    - void*
    - struct vtc_sess*
    - sess_conn_f*
    - sess_disc_f*
    - char*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 180
    functionName: Sess_Start_Thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - PTOK
    - pthread_create
    - ALLOC_OBJ
    linkageType: ''
    returnType: pthread_t
    signature: "pthread_t Sess_Start_Thread(\n    void *priv,\n    struct vtc_sess
      *vsp,\n    sess_conn_f *conn,\n    sess_disc_f *disc,\n    const char *listen_addr,\n
      \   int *asocket,\n    const char *spec\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:82,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:83,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:84,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:85,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:86,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:87,1
    - Dst: Sess_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:88,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:89,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:91,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:95,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:95,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:96,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:97,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - name
    - vl
    argTypes:
    - char*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 99
    functionName: server_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - VTC_CHECK_NAME
    - AN
    - VTAILQ_INSERT_TAIL
    - bprintf
    - vtc_logopen
    - REPLACE
    - pthread_mutex_lock
    - PTOK
    - Sess_New
    - pthread_mutex_unlock
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct server
    signature: 'struct server *

      server_new(const char *name, struct vtclog *vl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:109,1
    - Dst: Sess_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:110,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:111,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:112,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:113,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:114,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:115,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 118
    functionName: server_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - Sess_Destroy
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - macro_undef
    - vtc_logclose
    - free
    linkageType: ''
    returnType: void
    signature: void server_delete(struct server *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VUS_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:136,1
    - Dst: listen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:138,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:140,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - uds
    argTypes:
    - void*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 153
    functionName: uds_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - VUS_bind
    - AN
    - closefd
    - listen
    linkageType: ''
    returnType: void
    signature: void uds_listen(void *priv, const struct sockaddr_un *uds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:165,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:166,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:167,1
    - Dst: umask
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:172,1
    - Dst: VUS_resolver
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:173,1
    - Dst: umask
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:174,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:177,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:178,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:179,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - errp
    argTypes:
    - struct server*
    - char**
    assertStmts:
    - condition: (s->sock > 0)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: server_listen_uds
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - umask
    - VUS_resolver
    - unlink
    - vtc_fatal
    - strerror
    - assert
    - macro_def
    linkageType: ''
    returnType: void
    signature: void server_listen_uds(struct server *s, const char **errp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:189,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:192,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:193,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:194,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:195,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:199,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:200,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:202,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:204,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:205,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - s
    - errp
    argTypes:
    - struct server*
    - char**
    assertStmts:
    - condition: (s->sock > 0)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    constantsTouched: []
    func_position:
      end: 207
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 207
    functionName: server_listen_tcp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - VTCP_listen_on
    - bprintf
    - macro_def
    - assert
    - VTCP_name
    - VSA_Get_Proto
    linkageType: ''
    returnType: void
    signature: void server_listen_tcp(struct server *s, const char **errp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:214,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:217,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:218,1
    - Dst: server_listen_uds
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:219,1
    - Dst: server_listen_tcp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:221,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: server_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - VTCP_close
    - server_listen_tcp
    - VUS_is
    - server_listen_uds
    linkageType: ''
    returnType: void
    signature: void server_listen(struct server *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:243,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:247,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:249,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:249,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:250,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:251,1
    - Dst: VTCP_hisname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:253,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - vl
    argTypes:
    - void*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 257
    functionName: server_conn
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strerror
    - CAST_OBJ_NOTNULL
    - VTCP_hisname
    - vtc_log
    - accept
    - VUS_is
    linkageType: ''
    returnType: int
    signature: int server_conn(void *priv, struct vtclog *vl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:265,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:266,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:267,1
    - Dst: VTCP_Check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:268,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:269,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:269,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - priv
    - vl
    - fdp
    argTypes:
    - void*
    - struct vtclog*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: server_disc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - VTCP_Check
    - strerror
    - vtc_log
    - shutdown
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void server_disc(void *priv, struct vtclog *vl, int *fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sess_Start_Thread
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: server_start_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - Sess_Start_Thread
    linkageType: ''
    returnType: void
    signature: void server_start_thread(struct server *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:296,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:297,1
    - Dst: server_listen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:298,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:299,1
    - Dst: server_start_thread
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: server_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - server_start_thread
    - CHECK_OBJ_NOTNULL
    - server_listen
    linkageType: ''
    returnType: void
    signature: void server_start(struct server *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:313,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:314,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:316,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:317,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:321,1
    - Dst: sess_process
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:322,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:323,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:324,1
    - Dst: VTCP_Check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:325,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:326,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:326,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:327,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:328,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:329,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (s->sock < 0)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    constantsTouched: []
    func_position:
      end: 332
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 332
    functionName: server_dispatch_wrk
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - sess_process
    - vtc_logopen
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - assert
    - VTCP_Check
    - strerror
    - vtc_log
    - pthread_cleanup_push
    - pthread_cleanup_pop
    - vtc_logclose
    - shutdown
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: 'void *

      server_dispatch_wrk(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:346,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:347,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:349,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:350,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:352,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:357,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:359,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:359,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:360,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:361,1
    - Dst: server_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:362,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:365,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:368,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:368,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:370,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:371,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:372,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (s->sock >= 0)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    constantsTouched: []
    func_position:
      end: 373
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 373
    functionName: server_dispatch_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - return
    - bprintf
    - vtc_logopen
    - vtc_fatal
    - bstrcpy
    - NEEDLESS
    - vtc_logclose
    - CAST_OBJ_NOTNULL
    - assert
    - strerror
    - PTOK
    - pthread_create
    - vtc_log
    - pthread_cleanup_push
    - accept
    - pthread_cleanup_pop
    - server_new
    linkageType: ''
    returnType: void
    signature: 'void *

      server_dispatch_thread(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:378,1
    - Dst: server_listen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:379,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:380,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:382,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: server_dispatch
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - server_listen
    - PTOK
    - pthread_create
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void server_dispatch(struct server *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:394,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:395,1
    - Dst: pthread_cancel
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:396,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:397,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:397,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 401
    functionName: server_break
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - pthread_cancel
    - CHECK_OBJ_NOTNULL
    - PTOK
    - pthread_join
    - vtc_log
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void server_break(struct server *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:412,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:413,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:414,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:414,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 420
    functionName: server_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - PTOK
    - pthread_join
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void server_wait(struct server *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:431,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:431,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:432,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:436,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:437,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:441,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:445,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 446
    functionName: cmd_server_gen_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 2
    functionsReached:
    - VUS_is
    - VSB_printf
    - pthread_mutex_lock
    - PTOK
    - pthread_mutex_unlock
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void cmd_server_gen_vcl(struct vsb *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:458,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:458,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:459,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:460,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:461,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:466,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:468,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:469,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:470,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:476,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:478,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 479
    functionName: cmd_server_gen_haproxy_conf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - VUS_is
    - VSB_printf
    - pthread_mutex_lock
    - PTOK
    - pthread_mutex_unlock
    - INCOMPL
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void cmd_server_gen_haproxy_conf(struct vsb *vsb)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:496,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:496,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:497,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:498,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:500,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:501,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:501,1
    - Dst: pthread_cancel
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:505,1
    - Dst: server_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:506,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:509,1
    - Dst: server_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:510,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:515,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:515,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:518,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:518,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:519,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:520,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:522,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:522,1
    - Dst: server_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:524,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:525,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:531,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:533,1
    - Dst: server_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:534,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:538,1
    - Dst: server_break
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:539,1
    - Dst: server_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:548,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:550,1
    - Dst: Sess_GetOpt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:552,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:555,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:557,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:558,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:562,1
    - Dst: server_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:563,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:566,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:567,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:568,1
    - Dst: server_dispatch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:570,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:574,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 486
    functionDepth: 4
    functionLinenumber: 486
    functionLinenumberEnd: 577
    functionName: cmd_server
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - server_wait
    - server_break
    - server_dispatch
    - server_delete
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH
    - server_new
    - VTCP_close
    - pthread_cancel
    - CHECK_OBJ_NOTNULL
    - Sess_GetOpt
    - bprintf
    - vtc_fatal
    - server_start
    - AZ
    - strcmp
    - PTOK
    - CHECK_OBJ_ORNULL
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void cmd_server(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:582,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: init_server
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_server(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ITER_DONE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_priv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITER_DONE(iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - pos
    argTypes:
    - void*
    - teken_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: term_cursor
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void term_cursor(void *priv, const teken_pos_t *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:120,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:124,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - priv
    - pos
    - ch
    - at
    argTypes:
    - void*
    - teken_pos_t*
    - teken_char_t
    - teken_attr_t*
    assertStmts:
    - condition: (pos->tp_col < pp->ncol)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (pos->tp_row < pp->nlin)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: term_putchar
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void term_putchar(void *priv, const teken_pos_t *pos, teken_char_t
      ch,\n    const teken_attr_t *at)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: term_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - priv
    - r
    - c
    - a
    argTypes:
    - void*
    - teken_rect_t*
    - teken_char_t
    - teken_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: term_fill
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - term_putchar
    linkageType: ''
    returnType: void
    signature: "void term_fill(void *priv, const teken_rect_t *r, teken_char_t c,\n
      \   const teken_attr_t *a)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:153,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:161,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - priv
    - r
    - p
    argTypes:
    - void*
    - teken_rect_t*
    - teken_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: term_copy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - memmove
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void term_copy(void *priv, const teken_rect_t *r, const teken_pos_t
      *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:177,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:179,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:181,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:183,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - priv
    - p
    - l
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: term_respond
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strerror
    - CAST_OBJ_NOTNULL
    - write
    - vtc_dump
    linkageType: ''
    returnType: void
    signature: void term_respond(void *priv, const void *p, size_t l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:193,1
    - Dst: term_resize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:195,1
    - Dst: term_resize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - priv
    - p
    - v
    argTypes:
    - void*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: term_param
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - term_resize
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void term_param(void *priv, int p, unsigned int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:216,1
    - Dst: teken_get_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:217,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct process*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: term_screen_dump
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - vtc_dump
    - teken_get_cursor
    linkageType: ''
    returnType: void
    signature: void term_screen_dump(const struct process *pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:229,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:230,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:232,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:233,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:234,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:244,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:247,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:248,1
    - Dst: teken_set_winsize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pp
    - lin
    - col
    argTypes:
    - struct process*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 257
    functionName: term_resize
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 1
    functionsReached:
    - AN
    - memcpy
    - memset
    - teken_set_winsize
    - calloc
    - free
    linkageType: ''
    returnType: void
    signature: void term_resize(struct process *pp, int lin, int col)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:266,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:273,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:274,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pp
    - x
    - y
    - pat
    argTypes:
    - struct process*
    - int*
    - int
    - char*
    assertStmts:
    - condition: ((*x - 1) + (l - 1) < pp->ncol)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 279
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 279
    functionName: term_find_textline
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - assert
    - memcmp
    - strlen
    - strstr
    linkageType: ''
    returnType: int
    signature: int term_find_textline(const struct process *pp, int *x, int y, const
      char *pat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: term_find_textline
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:288,1
    - Dst: term_find_textline
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - pp
    - x
    - y
    - pat
    argTypes:
    - struct process*
    - int*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: term_find_text
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - term_find_textline
    linkageType: ''
    returnType: int
    signature: int term_find_text(const struct process *pp, int *x, int *y, const
      char *pat)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:307,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:309,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:310,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:312,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:314,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:315,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:317,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:318,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:318,1
    - Dst: term_find_text
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:319,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:322,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:325,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:325,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:326,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:327,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:327,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:331,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:331,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:332,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pp
    - lin
    - col
    - pat
    argTypes:
    - struct process*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 333
    functionName: term_expect_text
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - strtoul
    - usleep
    - vtc_fatal
    - term_find_text
    - pthread_mutex_lock
    - PTOK
    - vtc_log
    - VTIM_sleep
    - pthread_mutex_unlock
    - strlen
    linkageType: ''
    returnType: void
    signature: "void term_expect_text(struct process *pp,\n    const char *lin, const
      char *col, const char *pat)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: teken_get_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:341,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:342,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:344,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:345,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:347,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:349,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:351,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - pp
    - lin
    - col
    argTypes:
    - struct process*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: term_expect_cursor
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - strtoul
    - vtc_fatal
    - teken_get_cursor
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void term_expect_cursor(const struct process *pp, const char *lin,
      const char *col)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:370,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:372,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:374,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:375,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:377,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:379,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:387,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:389,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:389,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:390,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:390,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:391,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:391,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:392,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:393,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:397,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:397,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:401,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:402,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:405,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:405,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:407,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:407,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:408,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:410,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:412,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:412,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:413,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:414,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - pp
    - lin
    - col
    - re
    argTypes:
    - struct process*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 415
    functionName: term_match_text
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - VSB_fini
    - VSB_finish
    - AN
    - VSB_putc
    - VRE_free
    - VSB_bcat
    - vtc_log
    - VSB_data
    - VTIM_sleep
    - VRE_error
    - strtoul
    - vtc_fatal
    - AZ
    - VRE_match
    - PTOK
    - VSB_new_auto
    - VSB_init
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - VSB_destroy
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: "void term_match_text(struct process *pp,\n    const char *lin, const
      char *col, const char *re)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - field
    - ','
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 429
    functionName: PROCESS_EXPAND
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROCESS_EXPAND(field, format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_get_sequence
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:439,1
    - Dst: teken_get_sequence
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:440,1
    - Dst: teken_256to8
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:441,1
    - Dst: teken_256to16
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:442,1
    - Dst: teken_get_defattr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:443,1
    - Dst: teken_set_defattr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:444,1
    - Dst: teken_get_curattr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:445,1
    - Dst: teken_set_curattr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:446,1
    - Dst: teken_get_winsize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:447,1
    - Dst: teken_set_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:450,1
    - Dst: teken_get_defattr_cons25
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct process*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 452
    functionName: process_coverage
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - teken_256to8
    - teken_get_defattr
    - teken_set_curattr
    - teken_set_defattr
    - teken_set_cursor
    - teken_get_defattr_cons25
    - teken_get_sequence
    - teken_256to16
    - teken_get_curattr
    - teken_get_winsize
    linkageType: ''
    returnType: void
    signature: void process_coverage(struct process *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:461,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:462,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:463,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:464,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:464,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:466,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:467,1
    - Dst: PROCESS_EXPAND
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:469,1
    - Dst: PROCESS_EXPAND
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:470,1
    - Dst: PROCESS_EXPAND
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:471,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:473,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:475,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:475,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:479,1
    - Dst: teken_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:480,1
    - Dst: term_resize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:481,1
    - Dst: process_coverage
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 484
    functionName: process_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - AN
    - term_resize
    - bprintf
    - vtc_logopen
    - REPLACE
    - process_coverage
    - AZ
    - PTOK
    - system
    - VTAILQ_INSERT_TAIL
    - PROCESS_EXPAND
    - ALLOC_OBJ
    - teken_init
    linkageType: ''
    returnType: struct process
    signature: 'struct process *

      process_new(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:497,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:498,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:498,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:499,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:500,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:501,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:502,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:503,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:506,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:507,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct process*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 517
    functionName: process_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - PTOK
    - vtc_logclose
    - free
    linkageType: ''
    returnType: void
    signature: void process_delete(struct process *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:522,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:524,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:525,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct process*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 527
    functionName: process_undef
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - macro_undef
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void process_undef(const struct process *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:538,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - l
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 541
    functionName: process_vlu_func
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - vtc_dump
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int process_vlu_func(void *priv, const char *l)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:550,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:552,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:554,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:557,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:557,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:559,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:559,1
    - Dst: VLU_Feed
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:561,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:563,1
    - Dst: vtc_hexdump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:565,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:566,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:566,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:567,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:567,1
    - Dst: teken_input
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:568,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:569,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ev
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts:
    - condition: (write(p->f_stdout, buf, i) == i)
      pos:
        line_end: 565
        line_start: 565
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 571
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 571
    functionName: process_stdout
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - VLU_Feed
    - teken_input
    - CAST_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - vtc_hexdump
    - vtc_dump
    - assert
    - write
    - vtc_log
    - pthread_mutex_unlock
    - read
    linkageType: ''
    returnType: void
    signature: void process_stdout(const struct vev *ev, int what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:580,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:582,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:584,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:587,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:587,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:589,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:589,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:590,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:591,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ev
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts:
    - condition: (write(p->f_stderr, buf, i) == i)
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 593
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 593
    functionName: process_stderr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - assert
    - vtc_dump
    - write
    - vtc_log
    - pthread_mutex_unlock
    - read
    linkageType: ''
    returnType: void
    signature: void process_stderr(const struct vev *ev, int what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VEV_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: process_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - VEV_Destroy
    linkageType: ''
    returnType: void
    signature: void process_cleanup(void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:610,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:612,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:613,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:614,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:615,1
    - Dst: VEV_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:617,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:618,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:619,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:621,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:622,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:627,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:627,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:629,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:630,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:635,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:635,1
    - Dst: VLU_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:638,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:639,1
    - Dst: VLU_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:640,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:641,1
    - Dst: VEV_Once
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:645,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:649,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:650,1
    - Dst: vtc_wait4
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:652,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:654,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:655,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:657,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:657,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:660,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:663,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:663,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:665,1
    - Dst: VEV_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:666,1
    - Dst: VLU_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:668,1
    - Dst: VLU_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (p->f_stdout >= 0)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (p->f_stderr >= 0)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 672
      start: 602
    functionDepth: 2
    functionLinenumber: 602
    functionLinenumberEnd: 672
    functionName: process_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - open
    - macro_undef
    - AN
    - CAST_OBJ_NOTNULL
    - VLU_New
    - pthread_cleanup_push
    - VEV_Alloc
    - VEV_Once
    - vtc_fatal
    - AZ
    - assert
    - VEV_Start
    - VEV_New
    - vtc_wait4
    - PTOK
    - pthread_cleanup_pop
    - VLU_Destroy
    - VEV_Destroy
    - strerror
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - closefd
    linkageType: ''
    returnType: void
    signature: 'void *

      process_thread(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:680,1
    - Dst: ioctl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:683,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:685,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - fd
    argTypes:
    - struct process*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: process_winsz
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - memset
    - ioctl
    - strerror
    linkageType: ''
    returnType: void
    signature: void process_winsz(struct process *p, int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: process_winsz
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:694,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:696,1
    - Dst: cfsetispeed
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:701,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:703,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:703,1
    - Dst: cfsetospeed
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:704,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:706,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:706,1
    - Dst: tcsetattr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:713,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:715,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - p
    - fd
    argTypes:
    - struct process*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 716
    functionName: process_init_term
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - cfsetospeed
    - cfsetispeed
    - memset
    - strerror
    - tcsetattr
    - vtc_log
    - process_winsz
    linkageType: ''
    returnType: void
    signature: void process_init_term(struct process *p, int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:731,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:733,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:735,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:737,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:738,1
    - Dst: posix_openpt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:740,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:741,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:742,1
    - Dst: grantpt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:742,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:743,1
    - Dst: unlockpt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:743,1
    - Dst: ptsname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:744,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:745,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:747,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:747,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:749,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:750,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:752,1
    - Dst: setsid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:752,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:752,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:753,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:753,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:754,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:754,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:755,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:756,1
    - Dst: ioctl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:758,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:759,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:759,1
    - Dst: ioctl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:760,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:761,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:761,1
    - Dst: ioctl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:762,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:764,1
    - Dst: ioctl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:764,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:766,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:766,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:767,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:767,1
    - Dst: VSUB_closefrom
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:768,1
    - Dst: process_init_term
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:769,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:771,1
    - Dst: setenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:771,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:772,1
    - Dst: unsetenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:772,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:774,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:774,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:775,1
    - Dst: execl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:775,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:775,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:776,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:778,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:779,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:781,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:781,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:783,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:785,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:786,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:787,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:788,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:790,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct process*
    assertStmts:
    - condition: (p->pid >= 0)
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (dup2(slave, STDOUT_FILENO) == STDOUT_FILENO)
      pos:
        line_end: 766
        line_start: 766
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (master >= 0)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (setsid() == getpid())
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (dup2(fd2[1], STDERR_FILENO) == STDERR_FILENO)
      pos:
        line_end: 752
        line_start: 752
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (write(STDERR_FILENO, "+", 1) == 1)
      pos:
        line_end: 773
        line_start: 773
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (slave == STDIN_FILENO)
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (read(fd2[0], &c, 1) == 1)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 791
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 791
    functionName: process_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - dup2
    - pthread_create
    - open
    - fork
    - process_init_term
    - AN
    - ptsname
    - getpid
    - exit
    - write
    - pipe
    - vtc_log
    - VSB_data
    - execl
    - read
    - VSUB_closefrom
    - close
    - CHECK_OBJ_NOTNULL
    - setenv
    - closefd
    - vtc_fatal
    - macro_def
    - AZ
    - assert
    - PTOK
    - macro_expand
    - posix_openpt
    - ioctl
    - unlockpt
    - strerror
    - grantpt
    - unsetenv
    - setsid
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void process_start(struct process *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:803,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:803,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct process*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 808
    functionName: process_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - PTOK
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void process_wait(struct process *p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:820,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:821,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:823,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:823,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:825,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:825,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:828,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:830,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:832,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:834,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:836,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:839,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:841,1
    - Dst: kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:845,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:846,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:847,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:849,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - p
    - sig
    argTypes:
    - struct process*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 850
    functionName: process_kill
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - strtoul
    - vtc_fatal
    - strcmp
    - pthread_mutex_lock
    - PTOK
    - strerror
    - kill
    - vtc_log
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void process_kill(struct process *p, const char *sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:862,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:864,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:865,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:866,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:868,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - text
    argTypes:
    - struct process*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 870
    functionName: process_write
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strerror
    - write
    - vtc_log
    - strlen
    linkageType: ''
    returnType: void
    signature: void process_write(const struct process *p, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:878,1
    - Dst: vtc_hex_to_bin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:880,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:881,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:881,1
    - Dst: vtc_hexdump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:882,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:882,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:882,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:883,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:883,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - text
    argTypes:
    - struct process*
    - char*
    assertStmts:
    - condition: (VSB_len(vsb) >= 0)
      pos:
        line_end: 880
        line_start: 880
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 885
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 885
    functionName: process_write_hex
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - AZ
    - assert
    - VSB_len
    - vtc_hexdump
    - VSB_tofile
    - VSB_data
    - VSB_destroy
    - vtc_hex_to_bin
    linkageType: ''
    returnType: void
    signature: void process_write_hex(const struct process *p, const char *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:892,1
    - Dst: process_kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct process*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 895
    functionName: process_close
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - process_kill
    - vtc_fatal
    linkageType: ''
    returnType: void
    signature: void process_close(struct process *p)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1043,1
    - Dst: process_kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1045,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1046,1
    - Dst: process_kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1048,1
    - Dst: process_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1051,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1052,1
    - Dst: process_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1053,1
    - Dst: process_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1054,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1059,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1059,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1062,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1063,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1064,1
    - Dst: process_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1067,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1070,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1070,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1072,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1072,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1078,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1082,1
    - Dst: process_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1083,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1086,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1088,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1093,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1094,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1098,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1099,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1103,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1105,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1110,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1111,1
    - Dst: process_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1112,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1113,1
    - Dst: process_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1114,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1115,1
    - Dst: process_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1116,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1117,1
    - Dst: process_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1118,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1120,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1123,1
    - Dst: process_kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1124,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1128,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1130,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1135,1
    - Dst: strtoumax
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1136,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1141,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1141,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1143,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1143,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1144,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1145,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1149,1
    - Dst: process_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1150,1
    - Dst: process_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1151,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1154,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1158,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1159,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1160,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1161,1
    - Dst: term_expect_text
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1162,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1166,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1167,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1168,1
    - Dst: term_expect_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1169,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1173,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1174,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1175,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1176,1
    - Dst: term_match_text
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1177,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1181,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1182,1
    - Dst: term_screen_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1183,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1186,1
    - Dst: process_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1187,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1190,1
    - Dst: process_kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1191,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1192,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1195,1
    - Dst: process_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1196,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1199,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1200,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1201,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1202,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1203,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1205,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1205,1
    - Dst: term_resize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1206,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1207,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1207,1
    - Dst: process_winsz
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1208,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1211,1
    - Dst: process_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1212,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1216,1
    - Dst: process_write_hex
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1217,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1221,1
    - Dst: process_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1222,1
    - Dst: process_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1223,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1228,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c:1229,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 182
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (col > 1)
      pos:
        line_end: 1202
        line_start: 1202
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    - condition: (lin > 1)
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    constantsTouched: []
    func_position:
      end: 1232
      start: 1031
    functionDepth: 4
    functionLinenumber: 1031
    functionLinenumberEnd: 1232
    functionName: cmd_process
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    functionUses: 0
    functionsReached:
    - sleep
    - term_resize
    - process_wait
    - term_match_text
    - process_write
    - process_new
    - process_undef
    - AN
    - REPLACE
    - term_expect_text
    - process_close
    - VTAILQ_REMOVE
    - vtc_log
    - VTIM_sleep
    - VTAILQ_FOREACH
    - process_winsz
    - VTC_CHECK_NAME
    - strtoul
    - process_kill
    - vtc_fatal
    - process_delete
    - AZ
    - strcmp
    - PTOK
    - term_screen_dump
    - assert
    - term_expect_cursor
    - atoi
    - VTAILQ_FOREACH_SAFE
    - process_start
    - process_write_hex
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - strtoumax
    linkageType: ''
    returnType: void
    signature: void cmd_process(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: TP_SETBELLPD_PITCH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_SETBELLPD_PITCH(pd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: TP_SETBELLPD_DURATION
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TP_SETBELLPD_DURATION(pd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: pp2cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int pp2cmp(const void *va, const void *vb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:102,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:103,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:105,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:106,1
    - Dst: vtc_hex_to_bin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:109,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:110,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:111,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:112,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:113,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:113,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:114,1
    - Dst: bsearch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:118,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:121,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:122,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:125,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:127,1
    - Dst: vtc_hex_to_bin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:129,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:131,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:132,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:133,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:134,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:136,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:137,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:139,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:140,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:141,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:143,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:144,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:145,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:146,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:146,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - vl
    - vsb
    - kva
    argTypes:
    - struct vtclog*
    - struct vsb*
    - char*
    assertStmts:
    - condition: (sizeof(le) == 2)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    - condition: (sz <= UINT16_MAX)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    - condition: (sz >= 0)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    constantsTouched: []
    func_position:
      end: 148
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 148
    functionName: vtc_proxy_tlv
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    functionUses: 0
    functionsReached:
    - free
    - vbe16enc
    - AN
    - VSB_putc
    - VSB_finish
    - strtok_r
    - vtc_fatal
    - strdup
    - bsearch
    - AZ
    - VSB_len
    - assert
    - VSB_cat
    - VSB_bcat
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    - vtc_hex_to_bin
    linkageType: ''
    returnType: void
    signature: void vtc_proxy_tlv(struct vtclog *vl, struct vsb *vsb, const char *kva)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:158,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:159,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:160,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:161,1
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:164,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:165,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - vsb
    - proto
    - s
    argTypes:
    - struct vsb*
    - int
    - struct suckaddr*
    assertStmts:
    - condition: (sl >= sizeof(*sin6))
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    - condition: (sl >= sizeof(*sin4))
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: vpx_enc_addr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - VSA_Get_Sockaddr
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void vpx_enc_addr(struct vsb *vsb, int proto, const struct suckaddr
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:175,1
    - Dst: VSA_Port
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:175,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsb
    - s
    argTypes:
    - struct vsb*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: vpx_enc_port
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    functionUses: 0
    functionsReached:
    - vbe16enc
    - VSA_Port
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void vpx_enc_port(struct vsb *vsb, const struct suckaddr *s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:192,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:193,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:195,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:196,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:197,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:199,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:200,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:205,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:207,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:210,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:212,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:214,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:215,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:216,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:217,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:219,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:220,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:222,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:225,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:228,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:230,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:231,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:232,1
    - Dst: vpx_enc_addr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:233,1
    - Dst: vpx_enc_addr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:234,1
    - Dst: vpx_enc_port
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:235,1
    - Dst: vpx_enc_port
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:236,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:238,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:240,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:240,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:241,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:242,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:244,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:248,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c:249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 5
    argNames:
    - fd
    - version
    - sac
    - sas
    - tlv
    argTypes:
    - int
    - int
    - struct suckaddr*
    - struct suckaddr*
    - struct vsb*
    assertStmts:
    - condition: (l <= UINT16_MAX - 0x24)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    - condition: (version == 1 || version == 2)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    - condition: (proto == PF_INET6 || proto == PF_INET)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    - condition: (sizeof(le) == 2)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    constantsTouched: []
    func_position:
      end: 251
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 251
    functionName: vtc_send_proxy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    functionUses: 0
    functionsReached:
    - vbe16enc
    - AN
    - VTCP_name
    - VSB_putc
    - VSB_finish
    - VSB_printf
    - vpx_enc_port
    - AZ
    - assert
    - VSB_len
    - vpx_enc_addr
    - VSB_cat
    - WRONG
    - VSB_bcat
    - VSB_tofile
    - VSB_new_auto
    - VSA_Get_Proto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: "int vtc_send_proxy(int fd, int version, const struct suckaddr *sac,\n
      \   const struct suckaddr *sas, struct vsb *tlv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:64,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: vtc_vrnd_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - PTOK
    linkageType: ''
    returnType: void
    signature: void vtc_vrnd_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:70,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: vtc_vrnd_unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void vtc_vrnd_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:93,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:94,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:95,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:96,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:97,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:98,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:99,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:100,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - name
    - cmd
    - flags
    argTypes:
    - char*
    - cmd_f*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: add_cmd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_HEAD
    - AN
    - ALLOC_OBJ
    - strdup
    linkageType: ''
    returnType: void
    signature: void add_cmd(const char *name, cmd_f *cmd, unsigned flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:112,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:113,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:114,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:115,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:119,1
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:120,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:122,1
    - Dst: dlerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:122,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:125,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:127,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:128,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:129,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 134
    functionName: find_cmd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - bprintf
    - dlopen
    - dlerror
    - strcmp
    - vtc_log
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: struct cmds
    signature: 'struct cmds *

      find_cmd(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: init_cmd_list
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_cmd_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: CMD_GLOBAL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_GLOBAL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: CMD_TOP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_TOP(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:168,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:169,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:171,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:172,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:173,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:175,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:177,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:178,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:179,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:180,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: add_extension
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - VTAILQ_INSERT_HEAD
    - strdup
    - exit
    - strerror
    - open
    - ALLOC_OBJ
    - closefd
    linkageType: ''
    returnType: void
    signature: void add_extension(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:189,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:190,1
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:191,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:193,1
    - Dst: dlerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: init_extensions
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - dlopen
    - dlerror
    - vtc_log
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: int init_extensions(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:224,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:225,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:228,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:229,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:230,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:231,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:232,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:234,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:236,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:239,1
    - Dst: vbprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:240,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:241,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - name
    - func
    - fmt
    - ap
    argTypes:
    - char*
    - macro_f*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 245
    functionName: macro_def_int
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - AN
    - vbprintf
    - REPLACE
    - strcmp
    - AZ
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct macro
    signature: 'struct macro *

      macro_def_int(const char *name, macro_f *func, const char *fmt, va_list ap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:258,1
    - Dst: macro_def_int
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:259,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - name
    - func
    - fmt
    argTypes:
    - char*
    - macro_f*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: extmacro_def
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - macro_def_int
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void extmacro_def(const char *name, macro_f *func, const char *fmt,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:275,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:277,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:280,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:283,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: init_macro
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - PTOK
    - VTAILQ_FOREACH
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_macro(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:294,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:297,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:301,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:301,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:302,1
    - Dst: macro_def_int
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:303,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:304,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:305,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:306,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - vl
    - instance
    - name
    - fmt
    argTypes:
    - struct vtclog*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: macro_def
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 7
    functionsReached:
    - AN
    - bprintf
    - macro_def_int
    - pthread_mutex_lock
    - PTOK
    - va_start
    - vtc_log
    - pthread_mutex_unlock
    - va_end
    linkageType: ''
    returnType: void
    signature: "void macro_def(struct vtclog *vl, const char *instance, const char
      *name,\n    const char *fmt, ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:316,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:320,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:320,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:321,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:322,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:326,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:327,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:328,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:329,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:330,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:331,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:333,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - vl
    - instance
    - name
    argTypes:
    - struct vtclog*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 334
    functionName: macro_undef
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 3
    functionsReached:
    - bprintf
    - FREE_OBJ
    - VTAILQ_REMOVE
    - strcmp
    - pthread_mutex_lock
    - PTOK
    - vtc_log
    - pthread_mutex_unlock
    - VTAILQ_FOREACH
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void macro_undef(struct vtclog *vl, const char *instance, const char
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:343,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:347,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:347,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:348,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:349,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:351,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - instance
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 354
    functionName: macro_isdef
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 2
    functionsReached:
    - bprintf
    - strcmp
    - pthread_mutex_lock
    - PTOK
    - pthread_mutex_unlock
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: unsigned
    signature: unsigned macro_isdef(const char *instance, const char *name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:364,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:366,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:367,1
    - Dst: VAV_ParseTxt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:370,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:373,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:376,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:378,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:378,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:379,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:380,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:381,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:386,1
    - Dst: struct macro*::func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:387,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:389,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:391,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:393,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:398,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:398,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:400,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:403,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:408,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:410,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:414,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:415,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - vl
    - vsb
    - b
    - e
    argTypes:
    - struct vtclog*
    - struct vsb*
    - char*
    - char*
    assertStmts:
    - condition: (argc >= 2)
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    constantsTouched: []
    func_position:
      end: 416
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 416
    functionName: macro_cat
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 2
    functionsReached:
    - AN
    - VAV_ParseTxt
    - CHECK_OBJ_NOTNULL
    - VAV_Free
    - vtc_fatal
    - REPLACE
    - VSB_printf
    - strcmp
    - assert
    - PTOK
    - pthread_mutex_lock
    - AZ
    - struct macro*::func
    - VSB_cat
    - strchr
    - pthread_mutex_unlock
    - VTAILQ_FOREACH
    - free
    linkageType: ''
    returnType: void
    signature: void macro_cat(struct vtclog *vl, struct vsb *vsb, const char *b, const
      char *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:424,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:425,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:426,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:427,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:428,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:429,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:429,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:430,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:430,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - vl
    - fmt
    argTypes:
    - struct vtclog*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 433
    functionName: macro_expandf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 2
    functionsReached:
    - VSB_destroy
    - AN
    - macro_expand
    - VSB_finish
    - AZ
    - va_start
    - VSB_vprintf
    - VSB_data
    - VSB_new_auto
    - va_end
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      macro_expandf(struct vtclog *vl, const char *fmt, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:441,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:442,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:444,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:446,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:449,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:450,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:452,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:455,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:456,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:457,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:459,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:462,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - vl
    - text
    argTypes:
    - struct vtclog*
    - char*
    assertStmts:
    - condition: (p[0] == '$')
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (p[1] == '{')
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (q[0] == '}')
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    constantsTouched: []
    func_position:
      end: 464
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 464
    functionName: macro_expand
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 4
    functionsReached:
    - AN
    - VSB_finish
    - macro_cat
    - AZ
    - assert
    - VSB_cat
    - VSB_bcat
    - strchr
    - VSB_new_auto
    - strstr
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      macro_expand(struct vtclog *vl, const char *text)'
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:487,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:488,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:489,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:490,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:491,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:494,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:499,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:512,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:514,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:516,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:518,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:521,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:522,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:526,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:527,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:531,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:543,1
    - Dst: VAV_BackSlash
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:547,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:551,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:554,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:571,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:575,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:581,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:582,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:585,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:587,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:588,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:591,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:592,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:605,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:606,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:608,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:609,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:617,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:618,1
    - Dst: find_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:624,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:631,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:633,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:634,1
    - Dst: struct cmds*::cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:635,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 127
    argCount: 3
    argNames:
    - vl
    - priv
    - spec
    argTypes:
    - struct vtclog*
    - void*
    - char*
    assertStmts:
    - condition: (p < e)
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (p <= e)
      pos:
        line_end: 580
        line_start: 580
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (p < e)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (tn < MAX_TOKENS)
      pos:
        line_end: 525
        line_start: 525
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (*p == '}')
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (tn < MAX_TOKENS)
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - condition: (*p != '\n')
      pos:
        line_end: 553
        line_start: 553
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    constantsTouched: []
    func_position:
      end: 637
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 637
    functionName: parse_string
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 1
    functionsReached:
    - struct cmds*::cmd
    - AN
    - isspace
    - CHECK_OBJ_NOTNULL
    - VAV_BackSlash
    - strtoul
    - vtc_fatal
    - strdup
    - memset
    - strcmp
    - assert
    - find_cmd
    - strchr
    - macro_expand
    - vtc_log
    - VSB_data
    - parse_string
    - strstr
    linkageType: ''
    returnType: void
    signature: void parse_string(struct vtclog *vl, void *priv, const char *spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:648,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:649,1
    - Dst: struct cmds*::cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 652
    functionName: reset_cmd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - find_cmd
    - AN
    - struct cmds*::cmd
    linkageType: ''
    returnType: void
    signature: void reset_cmd(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reset_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:660,1
    - Dst: reset_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:661,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:663,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:664,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:665,1
    - Dst: struct icmds*::cmd::cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 672
    functionName: reset_cmds
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VTAILQ_FOREACH
    - reset_cmd
    - struct icmds*::cmd::cmd
    linkageType: ''
    returnType: void
    signature: void reset_cmds(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:685,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:691,1
    - Dst: reset_cmds
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:692,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:696,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 678
    functionDepth: 4
    functionLinenumber: 678
    functionLinenumberEnd: 703
    functionName: fail_out
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - reset_cmds
    linkageType: ''
    returnType: int
    signature: int fail_out(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:713,1
    - Dst: signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:715,1
    - Dst: VSUB_closefrom
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:717,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:719,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:719,1
    - Dst: VRND_SeedAll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:722,1
    - Dst: vtc_loginit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:725,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:726,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:727,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:729,1
    - Dst: init_cmd_list
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:731,1
    - Dst: init_extensions
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:732,1
    - Dst: fail_out
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:734,1
    - Dst: init_macro
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:736,1
    - Dst: init_server
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:737,1
    - Dst: init_syslog
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:738,1
    - Dst: init_tunnel
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:739,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:741,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:742,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:744,1
    - Dst: strrchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:745,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:747,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:748,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:750,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:751,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:752,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:752,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:753,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:753,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:754,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:757,1
    - Dst: chdir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:757,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:758,1
    - Dst: strrchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:759,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:760,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:762,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:763,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:766,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:767,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:768,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:769,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:769,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:773,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:774,1
    - Dst: fail_out
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c:775,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 5
    argNames:
    - fn
    - script
    - tmpdir
    - logbuf
    - loglen
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 705
    functionDepth: 5
    functionLinenumber: 705
    functionLinenumberEnd: 776
    functionName: exec_file
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    functionUses: 0
    functionsReached:
    - init_extensions
    - init_macro
    - VSB_finish
    - strrchr
    - init_syslog
    - parse_string
    - pthread_mutex_init
    - signal
    - fprintf
    - VSB_destroy
    - AN
    - VSB_putc
    - macro_cat
    - VSB_bcat
    - vtc_log
    - VSB_data
    - init_tunnel
    - VSUB_closefrom
    - AZ
    - VSB_len
    - PTOK
    - init_cmd_list
    - VRND_SeedAll
    - fopen
    - vtc_loginit
    - VSB_new_auto
    - fail_out
    - fclose
    - chdir
    - pthread_self
    - vtc_logopen
    - init_server
    - macro_def
    linkageType: ''
    returnType: int
    signature: "int exec_file(const char *fn, const char *script, const char *tmpdir,\n
      \   char *logbuf, unsigned loglen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - col
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: teken_tab_isset
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int teken_tab_isset(const teken_t *t, unsigned int col)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - col
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: teken_tab_clear
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_tab_clear(teken_t *t, unsigned int col)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - col
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: teken_tab_set
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_tab_set(teken_t *t, unsigned int col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:82,1
    - Dst: teken_tab_set
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: teken_tab_default
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - memset
    - teken_tab_set
    linkageType: ''
    returnType: void
    signature: void teken_tab_default(teken_t *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:94,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:95,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:96,1
    - Dst: teken_funcs_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:110,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:121,1
    - Dst: teken_funcs_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:134,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 2
    argNames:
    - t
    - amount
    argTypes:
    - teken_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 147
    functionName: teken_subr_do_scroll
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_copy
    - teken_assert
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_do_scroll(const teken_t *t, int amount)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:155,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:160,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:169,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:172,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:175,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - t
    - cmd
    - response
    argTypes:
    - teken_t*
    - unsigned int
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 181
    functionName: teken_subr_do_cpr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - snprintf
    - strcpy
    - teken_printf
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t teken_subr_do_cpr(const teken_t *t, unsigned int cmd, char
      response[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:193,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: teken_subr_alignment_test
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_alignment_test(teken_t *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: teken_subr_backspace
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_backspace(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_bell
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: teken_subr_bell
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_bell
    linkageType: ''
    returnType: void
    signature: void teken_subr_bell(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: teken_subr_carriage_return
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_carriage_return(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - ncols
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: teken_subr_cursor_backward
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_backward(teken_t *t, unsigned int ncols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_tab_isset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:265,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - t
    - ntabs
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 270
    functionName: teken_subr_cursor_backward_tabulation
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_tab_isset
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_backward_tabulation(teken_t *t, unsigned int
      ntabs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - nrows
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: teken_subr_cursor_down
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_down(teken_t *t, unsigned int nrows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - ncols
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: teken_subr_cursor_forward
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_forward(teken_t *t, unsigned int ncols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_tab_isset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:308,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - t
    - ntabs
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: teken_subr_cursor_forward_tabulation
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_tab_isset
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_forward_tabulation(teken_t *t, unsigned int
      ntabs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_cursor_down
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - ncols
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: teken_subr_cursor_next_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_cursor_down
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_next_line(teken_t *t, unsigned int ncols)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - t
    - row
    - col
    argTypes:
    - teken_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: teken_subr_cursor_position
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_position(teken_t *t, unsigned int row, unsigned
      int col)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_do_cpr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:345,1
    - Dst: teken_funcs_respond
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - t
    - cmd
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: teken_subr_cursor_position_report
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_do_cpr
    - teken_funcs_respond
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_position_report(const teken_t *t, unsigned int
      cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_cursor_up
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - ncols
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: teken_subr_cursor_previous_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_cursor_up
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_previous_line(teken_t *t, unsigned int ncols)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - nrows
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: teken_subr_cursor_up
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 1
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_cursor_up(teken_t *t, unsigned int nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - style
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 391
    functionName: teken_subr_set_cursor_style
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_set_cursor_style(teken_t *t, unsigned int style)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:407,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - t
    - ncols
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 414
    functionName: teken_subr_delete_character
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_copy
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_delete_character(const teken_t *t, unsigned int ncols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:439,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - t
    - nrows
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 446
    functionName: teken_subr_delete_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_copy
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_delete_line(const teken_t *t, unsigned int nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 454
    functionName: teken_subr_device_control_string
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_device_control_string(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_do_cpr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:462,1
    - Dst: teken_funcs_respond
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - t
    - cmd
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 467
    functionName: teken_subr_device_status_report
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_do_cpr
    - teken_funcs_respond
    linkageType: ''
    returnType: void
    signature: void teken_subr_device_status_report(const teken_t *t, unsigned int
      cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 475
    functionName: teken_subr_double_height_double_width_line_top
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_double_height_double_width_line_top(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: teken_subr_double_height_double_width_line_bottom
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_double_height_double_width_line_bottom(const teken_t
      *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - t
    - ncols
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: teken_subr_erase_character
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_erase_character(const teken_t *t, unsigned int ncols)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_erase_line
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:511,1
    - Dst: teken_subr_erase_line
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:524,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - t
    - mode
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 535
    functionName: teken_subr_erase_display
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_erase_line
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_erase_display(const teken_t *t, unsigned int mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - t
    - mode
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 561
    functionName: teken_subr_erase_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 1
    functionsReached:
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_erase_line(const teken_t *t, unsigned int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: teken_subr_g0_scs_special_graphics
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_g0_scs_special_graphics(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: teken_subr_g0_scs_uk_national
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_g0_scs_uk_national(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 582
    functionName: teken_subr_g0_scs_us_ascii
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_g0_scs_us_ascii(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: teken_subr_g1_scs_special_graphics
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_g1_scs_special_graphics(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: teken_subr_g1_scs_uk_national
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_g1_scs_uk_national(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 603
    functionName: teken_subr_g1_scs_us_ascii
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_g1_scs_us_ascii(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - t
    - col
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 615
    functionName: teken_subr_horizontal_position_absolute
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_horizontal_position_absolute(teken_t *t, unsigned int
      col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_cursor_forward_tabulation
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 622
    functionName: teken_subr_horizontal_tab
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_cursor_forward_tabulation
    linkageType: ''
    returnType: void
    signature: void teken_subr_horizontal_tab(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_tab_set
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 629
    functionName: teken_subr_horizontal_tab_set
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_tab_set
    linkageType: ''
    returnType: void
    signature: void teken_subr_horizontal_tab_set(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:638,1
    - Dst: teken_subr_do_scroll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 642
    functionName: teken_subr_index
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    - teken_subr_do_scroll
    linkageType: ''
    returnType: void
    signature: void teken_subr_index(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:661,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - t
    - ncols
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 668
    functionName: teken_subr_insert_character
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_copy
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_insert_character(const teken_t *t, unsigned int ncols)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:693,1
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - t
    - nrows
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 700
    functionName: teken_subr_insert_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_copy
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_insert_line(const teken_t *t, unsigned int nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 707
    functionName: teken_subr_keypad_application_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_keypad_application_mode(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 714
    functionName: teken_subr_keypad_numeric_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_keypad_numeric_mode(const teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_do_scroll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:723,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 729
    functionName: teken_subr_newline
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    - teken_subr_do_scroll
    linkageType: ''
    returnType: void
    signature: void teken_subr_newline(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:743,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:749,1
    - Dst: teken_subr_newline
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 753
    functionName: teken_subr_newpage
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_newline
    - teken_funcs_cursor
    - teken_funcs_fill
    linkageType: ''
    returnType: void
    signature: void teken_subr_newpage(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_newline
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: teken_subr_next_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_newline
    linkageType: ''
    returnType: void
    signature: void teken_subr_next_line(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: teken_subr_operating_system_command
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_operating_system_command(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_do_scroll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - nrows
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: teken_subr_pan_down
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_do_scroll
    linkageType: ''
    returnType: void
    signature: void teken_subr_pan_down(const teken_t *t, unsigned int nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_do_scroll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - nrows
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: teken_subr_pan_up
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_do_scroll
    linkageType: ''
    returnType: void
    signature: void teken_subr_pan_up(const teken_t *t, unsigned int nrows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_respond
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:792,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - request
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 796
    functionName: teken_subr_primary_device_attributes
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_respond
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_primary_device_attributes(const teken_t *t, unsigned
      int request)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:815,1
    - Dst: teken_funcs_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:818,1
    - Dst: teken_funcs_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:829,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - t
    - tp
    - c
    - width
    argTypes:
    - teken_t*
    - teken_pos_t*
    - teken_char_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 831
    functionName: teken_subr_do_putchar
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_copy
    - teken_funcs_putchar
    linkageType: ''
    returnType: void
    signature: "void teken_subr_do_putchar(teken_t *t, const teken_pos_t *tp, teken_char_t
      c,\n    int width)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: teken_scs_process
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:841,1
    - Dst: teken_scs_process
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:844,1
    - Dst: teken_wcwidth
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:845,1
    - Dst: teken_subr_do_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:852,1
    - Dst: teken_subr_do_scroll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:858,1
    - Dst: teken_subr_do_scroll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:881,1
    - Dst: teken_subr_do_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:892,1
    - Dst: teken_subr_do_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:899,1
    - Dst: teken_subr_do_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:906,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:917,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 918
    functionName: teken_subr_regular_character
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    - teken_scs_process
    - teken_wcwidth
    - teken_subr_do_putchar
    - teken_subr_do_scroll
    linkageType: ''
    returnType: void
    signature: void teken_subr_regular_character(teken_t *t, teken_char_t c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:929,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:932,1
    - Dst: teken_subr_reset_to_initial_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:933,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:936,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:944,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:950,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:953,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:956,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:959,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:962,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:965,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:968,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - t
    - cmd
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 970
    functionName: teken_subr_reset_dec_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_reset_to_initial_state
    - teken_funcs_cursor
    - teken_printf
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_reset_dec_mode(teken_t *t, unsigned int cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - t
    - cmd
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 983
    functionName: teken_subr_reset_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_reset_mode(teken_t *t, unsigned int cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 992
    functionName: teken_subr_do_resize
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_do_resize(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_save_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1010,1
    - Dst: teken_tab_default
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1012
    functionName: teken_subr_do_reset
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_save_cursor
    - teken_tab_default
    linkageType: ''
    returnType: void
    signature: void teken_subr_do_reset(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_do_reset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1018,1
    - Dst: teken_subr_erase_display
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1019,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1020,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1014
    functionDepth: 3
    functionLinenumber: 1014
    functionLinenumberEnd: 1022
    functionName: teken_subr_reset_to_initial_state
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 1
    functionsReached:
    - teken_funcs_cursor
    - teken_subr_erase_display
    - teken_subr_do_reset
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_reset_to_initial_state(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1042
    functionName: teken_subr_restore_cursor
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_restore_cursor(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1051,1
    - Dst: teken_subr_do_scroll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1055
    functionName: teken_subr_reverse_index
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    - teken_subr_do_scroll
    linkageType: ''
    returnType: void
    signature: void teken_subr_reverse_index(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1064
    functionName: teken_subr_save_cursor
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_save_cursor(teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_respond
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1072,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t
    - request
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1076
    functionName: teken_subr_secondary_device_attributes
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_respond
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_secondary_device_attributes(const teken_t *t, unsigned
      int request)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1087,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1090,1
    - Dst: teken_subr_reset_to_initial_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1091,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1094,1
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1102,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1108,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1111,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1114,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1117,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1120,1
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1123,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - t
    - cmd
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1078
    functionDepth: 4
    functionLinenumber: 1078
    functionLinenumberEnd: 1128
    functionName: teken_subr_set_dec_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_reset_to_initial_state
    - teken_funcs_cursor
    - teken_printf
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_set_dec_mode(teken_t *t, unsigned int cmd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1136,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - t
    - cmd
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1142
    functionName: teken_subr_set_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_set_mode(teken_t *t, unsigned int cmd)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1246,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 97
    argCount: 3
    argNames:
    - t
    - ncmds
    - cmds
    argTypes:
    - teken_t*
    - unsigned int
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1249
    functionName: teken_subr_set_graphic_rendition
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: "void teken_subr_set_graphic_rendition(teken_t *t, unsigned int ncmds,\n
      \   const unsigned int cmds[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - t
    - top
    - bottom
    argTypes:
    - teken_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1280
    functionName: teken_subr_set_top_and_bottom_margins
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: "void teken_subr_set_top_and_bottom_margins(teken_t *t, unsigned int
      top,\n    unsigned int bottom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1288
    functionName: teken_subr_single_height_double_width_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_single_height_double_width_line(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1296
    functionName: teken_subr_single_height_single_width_line
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_subr_single_height_single_width_line(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1307
    functionName: teken_subr_string_terminator
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_string_terminator(const teken_t *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: teken_tab_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1315,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - t
    - cmd
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1323
    functionName: teken_subr_tab_clear
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - memset
    - teken_tab_clear
    linkageType: ''
    returnType: void
    signature: void teken_subr_tab_clear(teken_t *t, unsigned int cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - t
    - row
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1335
    functionName: teken_subr_vertical_position_absolute
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_funcs_cursor
    linkageType: ''
    returnType: void
    signature: void teken_subr_vertical_position_absolute(teken_t *t, unsigned int
      row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_regular_character
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h:1346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - t
    - rpts
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1347
    functionName: teken_subr_repeat_last_graphic_char
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
    functionUses: 0
    functionsReached:
    - teken_subr_regular_character
    linkageType: ''
    returnType: void
    signature: void teken_subr_repeat_last_graphic_char(teken_t *t, unsigned int rpts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: teken_assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: teken_assert(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_t*::t_funcs::tf_bell
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: teken_funcs_bell
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached:
    - teken_t*::t_funcs::tf_bell
    linkageType: ''
    returnType: void
    signature: void teken_funcs_bell(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:80,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:81,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:83,1
    - Dst: teken_t*::t_funcs::tf_cursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: teken_funcs_cursor
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 22
    functionsReached:
    - teken_t*::t_funcs::tf_cursor
    - teken_assert
    linkageType: ''
    returnType: void
    signature: void teken_funcs_cursor(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:92,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:93,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:95,1
    - Dst: teken_t*::t_funcs::tf_putchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - t
    - p
    - c
    - a
    argTypes:
    - teken_t*
    - teken_pos_t*
    - teken_char_t
    - teken_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: teken_funcs_putchar
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached:
    - teken_assert
    - teken_t*::t_funcs::tf_putchar
    linkageType: ''
    returnType: void
    signature: "void teken_funcs_putchar(const teken_t *t, const teken_pos_t *p, teken_char_t
      c,\n    const teken_attr_t *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:104,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:105,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:106,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:107,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:109,1
    - Dst: teken_t*::t_funcs::tf_fill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - t
    - r
    - c
    - a
    argTypes:
    - teken_t*
    - teken_rect_t*
    - teken_char_t
    - teken_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: teken_funcs_fill
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 10
    functionsReached:
    - teken_assert
    - teken_t*::t_funcs::tf_fill
    linkageType: ''
    returnType: void
    signature: "void teken_funcs_fill(const teken_t *t, const teken_rect_t *r,\n    const
      teken_char_t c, const teken_attr_t *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:117,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:118,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:119,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:120,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:121,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:122,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:124,1
    - Dst: teken_t*::t_funcs::tf_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - t
    - r
    - p
    argTypes:
    - teken_t*
    - teken_rect_t*
    - teken_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: teken_funcs_copy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 6
    functionsReached:
    - teken_assert
    - teken_t*::t_funcs::tf_copy
    linkageType: ''
    returnType: void
    signature: void teken_funcs_copy(const teken_t *t, const teken_rect_t *r, const
      teken_pos_t *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_t*::t_funcs::tf_pre_input
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: teken_funcs_pre_input
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached:
    - teken_t*::t_funcs::tf_pre_input
    linkageType: ''
    returnType: void
    signature: void teken_funcs_pre_input(const teken_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_t*::t_funcs::tf_post_input
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: teken_funcs_post_input
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached:
    - teken_t*::t_funcs::tf_post_input
    linkageType: ''
    returnType: void
    signature: void teken_funcs_post_input(const teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:148,1
    - Dst: teken_t*::t_funcs::tf_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - cmd
    - value
    argTypes:
    - teken_t*
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: teken_funcs_param
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 5
    functionsReached:
    - teken_assert
    - teken_t*::t_funcs::tf_param
    linkageType: ''
    returnType: void
    signature: void teken_funcs_param(const teken_t *t, int cmd, unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:156,1
    - Dst: teken_t*::t_funcs::tf_respond
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - teken_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: teken_funcs_respond
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 4
    functionsReached:
    - teken_t*::t_funcs::tf_respond
    - teken_assert
    linkageType: ''
    returnType: void
    signature: void teken_funcs_respond(const teken_t *t, const void *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_do_reset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:182,1
    - Dst: teken_set_winsize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - t
    - tf
    - softc
    argTypes:
    - teken_t*
    - teken_funcs_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: teken_init
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached:
    - teken_set_winsize
    - teken_subr_do_reset
    linkageType: ''
    returnType: void
    signature: void teken_init(teken_t *t, const teken_funcs_t *tf, void *softc)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: teken_subr_bell
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:213,1
    - Dst: teken_subr_backspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:216,1
    - Dst: teken_subr_newline
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:220,1
    - Dst: teken_subr_newpage
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:223,1
    - Dst: teken_t*::t_nextstate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:227,1
    - Dst: teken_t*::t_nextstate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:233,1
    - Dst: teken_subr_carriage_return
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:238,1
    - Dst: teken_subr_horizontal_tab
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:241,1
    - Dst: teken_t*::t_nextstate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:244,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:249,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:250,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:251,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:252,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:253,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:254,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:255,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:256,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:258,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 262
    functionName: teken_input_char
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached:
    - teken_subr_backspace
    - teken_assert
    - teken_subr_bell
    - teken_t*::t_nextstate
    - teken_subr_carriage_return
    - teken_subr_newline
    - teken_subr_newpage
    - teken_subr_horizontal_tab
    linkageType: ''
    returnType: void
    signature: void teken_input_char(teken_t *t, teken_char_t c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: teken_input_char
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:274,1
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:293,1
    - Dst: teken_input_char
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 264
    functionDepth: 5
    functionLinenumber: 264
    functionLinenumberEnd: 297
    functionName: teken_input_byte
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached:
    - teken_input_char
    - teken_printf
    linkageType: ''
    returnType: void
    signature: void teken_input_byte(teken_t *t, unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_pre_input
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:304,1
    - Dst: teken_input_byte
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:306,1
    - Dst: teken_funcs_post_input
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - teken_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: teken_input
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached:
    - teken_funcs_post_input
    - teken_input_byte
    - teken_funcs_pre_input
    linkageType: ''
    returnType: void
    signature: void teken_input(teken_t *t, const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: teken_get_cursor
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: teken_pos_t
    signature: 'teken_pos_t *

      teken_get_cursor(const teken_t *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:322,1
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - teken_t*
    - teken_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: teken_set_cursor
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached:
    - teken_assert
    linkageType: ''
    returnType: void
    signature: void teken_set_cursor(teken_t *t, const teken_pos_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: teken_get_curattr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: teken_attr_t
    signature: 'teken_attr_t *

      teken_get_curattr(const teken_t *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - a
    argTypes:
    - teken_t*
    - teken_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: teken_set_curattr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_set_curattr(teken_t *t, const teken_attr_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: teken_get_defattr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: teken_attr_t
    signature: 'teken_attr_t *

      teken_get_defattr(const teken_t *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - a
    argTypes:
    - teken_t*
    - teken_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: teken_set_defattr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_set_defattr(teken_t *t, const teken_attr_t *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 361
    functionName: teken_get_winsize
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: teken_pos_t
    signature: 'teken_pos_t *

      teken_get_winsize(const teken_t *t)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tp_row::tp_row
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:370,1
    - Dst: tp_row::tp_row
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:372,1
    - Dst: tp_row::tp_row
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:373,1
    - Dst: tp_col::tp_col
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:374,1
    - Dst: tp_col::tp_col
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - t
    - new
    argTypes:
    - teken_t*
    - teken_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: teken_trim_cursor_pos
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached:
    - tp_row::tp_row
    - tp_col::tp_col
    linkageType: ''
    returnType: void
    signature: void teken_trim_cursor_pos(teken_t *t, const teken_pos_t *new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_trim_cursor_pos
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:382,1
    - Dst: teken_subr_do_reset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - teken_t*
    - teken_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: teken_set_winsize
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 2
    functionsReached:
    - teken_subr_do_reset
    - teken_trim_cursor_pos
    linkageType: ''
    returnType: void
    signature: void teken_set_winsize(teken_t *t, const teken_pos_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_trim_cursor_pos
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:391,1
    - Dst: teken_subr_do_resize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - teken_t*
    - teken_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: teken_set_winsize_noreset
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached:
    - teken_subr_do_resize
    - teken_trim_cursor_pos
    linkageType: ''
    returnType: void
    signature: void teken_set_winsize_noreset(teken_t *t, const teken_pos_t *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: teken_set_8bit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_set_8bit(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: teken_set_cons25
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_set_cons25(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - t
    - s
    argTypes:
    - teken_t*
    - teken_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: teken_state_switch
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_state_switch(teken_t *t, teken_state_t *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: teken_assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:427,1
    - Dst: teken_state_switch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c:455,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 473
    functionName: teken_state_numbers
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 0
    functionsReached:
    - teken_assert
    - teken_state_switch
    linkageType: ''
    returnType: int
    signature: int teken_state_numbers(teken_t *t, teken_char_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - teken_color_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: teken_256to8
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: teken_color_t
    signature: teken_color_t teken_256to8(teken_color_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - teken_color_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: teken_256to16
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: teken_color_t
    signature: teken_color_t teken_256to16(teken_color_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - t
    - k
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 732
    functionName: teken_get_sequence
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      teken_get_sequence(const teken_t *t, unsigned int k)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:130,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:131,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct hpk_hdr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: clean_headers
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - memset
    - free
    linkageType: ''
    returnType: void
    signature: void clean_headers(struct hpk_hdr *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hp
    - ','
    - av
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: ONLY_H2_CLIENT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_H2_CLIENT(hp, av)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hp
    - ','
    - av
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: ONLY_H2_SERVER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_H2_SERVER(hp, av)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:158,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:159,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:160,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:162,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:163,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:165,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - hp
    - lvl
    - buf
    - s
    - pfx
    argTypes:
    - struct http*
    - int
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: http_write
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - strerror
    - write
    - vtc_dump
    - vtc_log
    linkageType: ''
    returnType: void
    signature: "void http_write(const struct http *hp, int lvl,\n    const char *buf,
      int s, const char *pfx)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:175,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:176,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:182,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:186,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:190,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:192,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:195,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:197,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:201,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:203,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:205,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - hp
    - buf
    - n
    argTypes:
    - struct http*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 214
    functionName: get_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - strerror
    - poll
    - vtc_log
    - read
    linkageType: ''
    returnType: int
    signature: int get_bytes(const struct http *hp, char *buf, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:255,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:256,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - f
    - buf
    argTypes:
    - struct frame*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: readFrameHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vbe32dec
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void readFrameHeader(struct frame *f, const char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:272,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:273,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - f
    argTypes:
    - char*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 283
    functionName: writeFrameHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vbe32enc
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void writeFrameHeader(char *buf, const struct frame *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - f
    - ','
    - ty
    - ','
    - sz
    - ','
    - id
    - ','
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: INIT_FRAME
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_FRAME(f, ty, sz, id, fl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:300,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:308,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:310,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:311,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fp
    - new
    argTypes:
    - struct frame**
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 313
    functionName: replace_frame
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - AN
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void replace_frame(struct frame **fp, struct frame *new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - struct frame**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: clean_frame
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - replace_frame
    linkageType: ''
    returnType: void
    signature: void clean_frame(struct frame **fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:329,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:331,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:332,1
    - Dst: writeFrameHeader
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:334,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:336,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:348,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:348,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:349,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:351,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:352,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:355,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:356,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:358,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:360,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:363,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - sp
    - f
    - lock
    argTypes:
    - struct stream*
    - struct frame*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 364
    functionName: write_frame
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - strerror
    - pthread_mutex_lock
    - PTOK
    - write
    - vtc_log
    - pthread_mutex_unlock
    - writeFrameHeader
    linkageType: ''
    returnType: void
    signature: void write_frame(struct stream *sp, const struct frame *f, const unsigned
      lock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: exclusive_stream_dependency
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void exclusive_stream_dependency(const struct stream *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:385,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:388,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:391,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:394,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:397,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:399,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 18
    argCount: 3
    argNames:
    - flags
    - type
    - vl
    argTypes:
    - uint8_t
    - uint8_t
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 400
    functionName: explain_flags
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void explain_flags(uint8_t flags, uint8_t type, struct vtclog *vl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:409,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:410,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:411,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:416,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:425,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:434,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:435,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:439,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:440,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 444
    functionName: parse_data
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - memcpy
    - AZ
    - CAST_OBJ_NOTNULL
    - realloc
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_data(struct stream *s, struct frame *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:453,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:454,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:456,1
    - Dst: HPK_NewIter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:459,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:459,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:459,1
    - Dst: HPK_DecHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:465,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:468,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:476,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:479,1
    - Dst: HPK_FreeIter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:483,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - hp
    - h
    - vsb
    argTypes:
    - struct http*
    - struct hpk_hdr*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 484
    functionName: decode_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - HPK_NewIter
    - CHECK_OBJ_NOTNULL
    - HPK_DecHdr
    - CAST_OBJ_NOTNULL
    - VSB_len
    - HPK_FreeIter
    - vtc_log
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void decode_hdr(struct http *hp, struct hpk_hdr *h, const struct vsb
      *vsb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:496,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:497,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:498,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:499,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:504,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:513,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:518,1
    - Dst: exclusive_stream_dependency
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:524,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:526,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:527,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:530,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:534,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - s
    - f
    - vsb
    argTypes:
    - struct stream*
    - struct frame*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 535
    functionName: parse_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - exclusive_stream_dependency
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - vbe32dec
    - AZ
    - VSB_bcat
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_hdr(struct stream *s, struct frame *f, struct vsb *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:544,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:545,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:546,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:549,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:552,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:554,1
    - Dst: exclusive_stream_dependency
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:560,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:567,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 569
    functionName: parse_prio
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - exclusive_stream_dependency
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - vbe32dec
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_prio(struct stream *s, struct frame *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:577,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:578,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:579,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:582,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:584,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:587,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 594
    functionName: parse_rst
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - vbe32dec
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_rst(const struct stream *s, struct frame *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:604,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:605,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:606,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:609,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:613,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:620,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:622,1
    - Dst: HPK_ResizeTbl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:631,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:632,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:635,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct frame*
    assertStmts:
    - condition: (r == hpk_done)
      pos:
        line_end: 631
        line_start: 631
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    constantsTouched: []
    func_position:
      end: 638
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 638
    functionName: parse_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - HPK_ResizeTbl
    - CAST_OBJ_NOTNULL
    - vbe32dec
    - assert
    - vbe16dec
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_settings(const struct stream *s, struct frame *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:644,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:645,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:646,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:648,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:650,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 655
    functionName: parse_ping
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_ping(const struct stream *s, struct frame *f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:663,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:664,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:665,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:668,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:671,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:674,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:675,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:685,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:686,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:689,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:692,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:693,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 696
    functionName: parse_goaway
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - CHECK_OBJ_NOTNULL
    - memcpy
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - vbe32dec
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_goaway(const struct stream *s, struct frame *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:703,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:704,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:705,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:708,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:710,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:713,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct frame*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 717
    functionName: parse_winup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - vbe32dec
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void parse_winup(const struct stream *s, struct frame *f)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:732,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:734,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:734,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:737,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:739,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:739,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:742,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:742,1
    - Dst: get_bytes
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:744,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:745,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:745,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:746,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:747,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:747,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:748,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:748,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:749,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:753,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:754,1
    - Dst: readFrameHeader
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:755,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:757,1
    - Dst: explain_flags
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:762,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:765,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:766,1
    - Dst: get_bytes
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:768,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:769,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:769,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:770,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:771,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:771,1
    - Dst: clean_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:772,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:773,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:773,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:774,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:781,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:781,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:784,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:788,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:788,1
    - Dst: clean_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:790,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:791,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:791,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:795,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:795,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:797,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:800,1
    - Dst: parse_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:806,1
    - Dst: clean_headers
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:818,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:820,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:821,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:824,1
    - Dst: parse_hdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:826,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:829,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:829,1
    - Dst: decode_hdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:830,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:831,1
    - Dst: parse_prio
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:836,1
    - Dst: parse_rst
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:839,1
    - Dst: parse_settings
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:842,1
    - Dst: parse_ping
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:845,1
    - Dst: parse_goaway
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:848,1
    - Dst: parse_winup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:851,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:854,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:857,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:857,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:858,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:860,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:863,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:863,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:867,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:867,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:869,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 118
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (hp->wf >= 0)
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    - condition: (hp->wf > 0)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    constantsTouched: []
    func_position:
      end: 871
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 871
    functionName: receive_frame
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - parse_data
    - parse_ping
    - VSB_finish
    - get_bytes
    - parse_prio
    - parse_settings
    - clean_frame
    - AN
    - malloc
    - CAST_OBJ_NOTNULL
    - decode_hdr
    - WRONG
    - pthread_cond_wait
    - vtc_log
    - parse_winup
    - VTAILQ_FOREACH
    - parse_hdr
    - VTAILQ_INSERT_HEAD
    - vtc_fatal
    - clean_headers
    - AZ
    - assert
    - PTOK
    - readFrameHeader
    - pthread_cond_signal
    - parse_goaway
    - VSB_new_auto
    - pthread_mutex_lock
    - parse_rst
    - explain_flags
    - pthread_mutex_unlock
    - ALLOC_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: 'void *

      receive_frame(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - ss
    - ','
    - p
    - ','
    - v
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 880
    functionName: STRTOU32
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRTOU32(n, ss, p, v, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - n
    - ','
    - sp
    - ','
    - p
    - ','
    - v
    - ','
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 890
    functionName: STRTOU32_CHECK
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRTOU32_CHECK(n, sp, p, v, c, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 895
    functionName: CHECK_LAST_FRAME
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_LAST_FRAME(TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - U
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 904
    functionName: RETURN_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_SETTING(U)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - U
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 916
    functionName: RETURN_SETTING_BOOL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_SETTING_BOOL(U)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 922
    functionName: RETURN_BUFFED
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_BUFFED(val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:926,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:928,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - h
    - k
    argTypes:
    - struct hpk_hdr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 935
    functionName: find_header
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - AN
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      find_header(const struct hpk_hdr *h, const char *k)'
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:955,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:956,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:957,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:958,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:968,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:969,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:972,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:973,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:974,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:982,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:983,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:984,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:997,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:998,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:999,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1001,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1002,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1003,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1006,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1007,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1008,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1015,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1016,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1017,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1054,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1055,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1057,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1058,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1061,1
    - Dst: RETURN_SETTING
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1061,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1062,1
    - Dst: RETURN_SETTING_BOOL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1062,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1063,1
    - Dst: RETURN_SETTING
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1063,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1064,1
    - Dst: RETURN_SETTING
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1064,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1065,1
    - Dst: RETURN_SETTING
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1065,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1066,1
    - Dst: RETURN_SETTING
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1066,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1067,1
    - Dst: RETURN_SETTING_BOOL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1067,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1068,1
    - Dst: RETURN_SETTING_BOOL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1068,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1069,1
    - Dst: RETURN_SETTING
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1069,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1076,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1077,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1078,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1091,1
    - Dst: CHECK_LAST_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1093,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1095,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1096,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1097,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1098,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1099,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1120,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1123,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1124,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1125,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1125,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1126,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1126,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1127,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1127,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1128,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1132,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1135,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1154,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1155,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1159,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1160,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1164,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1166,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1171,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1173,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1197,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1197,1
    - Dst: sscanf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1204,1
    - Dst: HPK_GetHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1206,1
    - Dst: sscanf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1209,1
    - Dst: HPK_GetHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1211,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1214,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1215,1
    - Dst: HPK_GetTblSize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1215,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1216,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1217,1
    - Dst: HPK_GetTblMaxSize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1217,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1218,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1219,1
    - Dst: HPK_GetTblLength
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1219,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1250,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1250,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1258,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1260,1
    - Dst: RETURN_BUFFED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1261,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1262,1
    - Dst: find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1263,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1264,1
    - Dst: find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1265,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1266,1
    - Dst: find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1267,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1268,1
    - Dst: find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1269,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1270,1
    - Dst: find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1271,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1272,1
    - Dst: find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1273,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 167
    argCount: 3
    argNames:
    - s
    - spec
    - buf
    argTypes:
    - struct stream*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 1281
    functionName: cmd_var_resolve
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - HPK_GetHdr
    - vtc_fatal
    - CHECK_LAST_FRAME
    - RETURN_SETTING
    - sscanf
    - strcmp
    - RETURN_SETTING_BOOL
    - HPK_GetTblLength
    - strncmp
    - HPK_GetTblMaxSize
    - RETURN_BUFFED
    - find_header
    - HPK_GetTblSize
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      cmd_var_resolve(const struct stream *s, const char *spec, char *buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - U
    - ','
    - v
    - ','
    - sc
    - ','
    - g
    - ','
    - r
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1279
    functionName: H2_ERROR
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_ERROR(U,v,sc,g,r,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1299,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1300,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1301,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1302,1
    - Dst: vtc_hex_to_bin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1303,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1304,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1304,1
    - Dst: vtc_hexdump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1305,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1305,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1305,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1306,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1306,1
    - Dst: http_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1307,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1307,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1307,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1308,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1308,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (VSB_len(vsb) >= 0)
      pos:
        line_end: 1303
        line_start: 1303
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    constantsTouched: []
    func_position:
      end: 1310
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1310
    functionName: cmd_sendhex
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    - VSB_len
    - vtc_hexdump
    - PTOK
    - pthread_mutex_lock
    - http_write
    - VSB_data
    - pthread_mutex_unlock
    - VSB_destroy
    - vtc_hex_to_bin
    linkageType: ''
    returnType: void
    signature: void cmd_sendhex(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hdr
    - ','
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1322
    functionName: ENC
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENC(hdr, k, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - av
    - ','
    - field
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1335
    functionName: STR_ENC
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_ENC(av, field, str)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1463,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1464,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1465,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1466,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1468,1
    - Dst: ONLY_H2_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1469,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1475,1
    - Dst: ONLY_H2_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1476,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1480,1
    - Dst: ONLY_H2_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1481,1
    - Dst: HPK_NewIter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1490,1
    - Dst: HPK_NewIter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1492,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1497,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1499,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1505,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1505,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1506,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1510,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1511,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1511,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1512,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1516,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1516,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1517,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1517,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1518,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1522,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1523,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1523,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1524,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1528,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1530,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1531,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1534,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1536,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1537,1
    - Dst: HPK_EncHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1537,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1539,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1541,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1542,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1543,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1545,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1548,1
    - Dst: STR_ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1553,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1554,1
    - Dst: HPK_EncHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1554,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1556,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1558,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1559,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1560,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1562,1
    - Dst: STR_ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1565,1
    - Dst: STR_ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1566,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1567,1
    - Dst: HPK_EncHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1567,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1569,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1572,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1575,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1575,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1576,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1577,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1579,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1579,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1580,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1582,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1583,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1585,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1585,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1586,1
    - Dst: synth_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1588,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1590,1
    - Dst: CMD_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1590,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1591,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1592,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1593,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1594,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1595,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1599,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1600,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1601,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1602,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1603,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1608,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1609,1
    - Dst: synth_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1610,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1611,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1615,1
    - Dst: vtc_gzip_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1616,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1621,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1625,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1626,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1629,1
    - Dst: AV_IS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1633,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1634,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1644,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1646,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1649,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1650,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1651,1
    - Dst: ENC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1652,1
    - Dst: gethpk_iterLen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1654,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1659,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1660,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1661,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1665,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1666,1
    - Dst: exclusive_stream_dependency
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1668,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1671,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1672,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1674,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1674,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1675,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1676,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1678,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1678,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1679,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1680,1
    - Dst: HPK_FreeIter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1685,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1686,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1687,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1692,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1695,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1696,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 231
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (HPK_EncHdr(iter, &hdr) != hpk_err)
      pos:
        line_end: 1553
        line_start: 1553
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    - condition: (len < INT_MAX)
      pos:
        line_end: 1602
        line_start: 1602
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    - condition: (f.size + strlen(pad) < BUF_SIZE)
      pos:
        line_end: 1673
        line_start: 1673
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    - condition: (HPK_EncHdr(iter, &hdr) != hpk_err)
      pos:
        line_end: 1566
        line_start: 1566
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    - condition: (HPK_EncHdr(iter, &hdr) != hpk_err)
      pos:
        line_end: 1536
        line_start: 1536
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    - condition: (f.size + 5 < BUF_SIZE)
      pos:
        line_end: 1658
        line_start: 1658
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    constantsTouched: []
    func_position:
      end: 1697
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1697
    functionName: cmd_tx11obj
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - INIT_FRAME
    - STR_ENC
    - gethpk_iterLen
    - strlen
    - ENC
    - AN
    - vbe32enc
    - HPK_NewIter
    - malloc
    - AV_IS
    - STRTOU32_CHECK
    - memcpy
    - ONLY_H2_CLIENT
    - memset
    - strdup
    - REPLACE
    - CAST_OBJ_NOTNULL
    - strncmp
    - vtc_log
    - HPK_FreeIter
    - vtc_fatal
    - synth_body
    - strcmp
    - assert
    - AZ
    - VFIL_readfile
    - HPK_EncHdr
    - free
    - CMD_IS
    - exclusive_stream_dependency
    - memmove
    - ONLY_H2_SERVER
    - vtc_gzip_cmd
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_tx11obj(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1495
    functionName: AV_IS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AV_IS(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1496
    functionName: CMD_IS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_IS(str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1729,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1731,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1734,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1735,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1737,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1738,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1739,1
    - Dst: synth_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1741,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1742,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1743,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1745,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1746,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1747,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1748,1
    - Dst: synth_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1750,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1751,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1757,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1760,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1764,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1765,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1766,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1766,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1766,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1767,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1768,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1770,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1770,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1771,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1772,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1772,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1773,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1776,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1779,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1780,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1781,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1782,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1720
    functionDepth: 2
    functionLinenumber: 1720
    functionLinenumberEnd: 1783
    functionName: cmd_txdata
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_FRAME
    - malloc
    - memcpy
    - vtc_fatal
    - strdup
    - synth_body
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - free
    - strlen
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_txdata(CMD_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1803,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1805,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1808,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1811,1
    - Dst: STRTOU32
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1818,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1823,1
    - Dst: htonl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1825,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1827,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1795
    functionDepth: 2
    functionLinenumber: 1795
    functionLinenumberEnd: 1828
    functionName: cmd_txrst
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - INIT_FRAME
    - htonl
    - vtc_fatal
    - STRTOU32
    - strcmp
    - CAST_OBJ_NOTNULL
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_txrst(CMD_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1856,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1858,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1862,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1863,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1864,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1866,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1867,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1872,1
    - Dst: exclusive_stream_dependency
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1877,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1879,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1845
    functionDepth: 2
    functionLinenumber: 1845
    functionLinenumberEnd: 1882
    functionName: cmd_txprio
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - exclusive_stream_dependency
    - INIT_FRAME
    - STRTOU32_CHECK
    - vbe32enc
    - vtc_fatal
    - strcmp
    - CAST_OBJ_NOTNULL
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_txprio(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1892
    functionName: PUT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT(val, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - av
    - ','
    - vl
    - ','
    - name
    - ','
    - val
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1898
    functionName: PUT_KV
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_KV(av, vl, name, val, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - av
    - ','
    - vl
    - ','
    - name
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1911
    functionName: PUT_BOOL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_BOOL(av, vl, name, code)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1964,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1965,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1967,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1968,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1971,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1971,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1973,1
    - Dst: PUT_BOOL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1974,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1975,1
    - Dst: PUT_KV
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1976,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1977,1
    - Dst: HPK_ResizeTbl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1977,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1979,1
    - Dst: PUT_KV
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1980,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1981,1
    - Dst: PUT_KV
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1982,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1983,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1987,1
    - Dst: PUT_KV
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1988,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1989,1
    - Dst: PUT_KV
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1990,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1991,1
    - Dst: PUT_BOOL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1992,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1993,1
    - Dst: PUT_BOOL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1994,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1995,1
    - Dst: PUT_KV
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1996,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:1997,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2000,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2002,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2003,1
    - Dst: PUT_KV
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2004,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2006,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2012,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2014,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2015,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2016,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2016,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (u <= 0xffff)
      pos:
        line_end: 2002
        line_start: 2002
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    - condition: (HPK_ResizeTbl(s->hp->decctx, val) != hpk_err)
      pos:
        line_end: 1976
        line_start: 1976
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    constantsTouched: []
    func_position:
      end: 2017
      start: 1951
    functionDepth: 2
    functionLinenumber: 1951
    functionLinenumberEnd: 2017
    functionName: cmd_txsettings
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - PUT_KV
    - AN
    - INIT_FRAME
    - strtoul
    - vtc_fatal
    - memset
    - HPK_ResizeTbl
    - CAST_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - strcmp
    - PUT_BOOL
    - assert
    - strncmp
    - pthread_mutex_unlock
    - VTAILQ_FOREACH
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_txsettings(CMD_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2036,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2037,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2038,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2041,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2044,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2045,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2046,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2048,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2054,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2029
    functionDepth: 2
    functionLinenumber: 2029
    functionLinenumberEnd: 2058
    functionName: cmd_txping
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - INIT_FRAME
    - vtc_fatal
    - memset
    - strcmp
    - CAST_OBJ_NOTNULL
    - strlen
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_txping(CMD_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2087,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2089,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2092,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2095,1
    - Dst: STRTOU32
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2101,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2102,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2103,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2104,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2107,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2108,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2109,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2110,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2111,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2116,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2119,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2120,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2122,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2123,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2124,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2125,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2078
    functionDepth: 2
    functionLinenumber: 2078
    functionLinenumberEnd: 2126
    functionName: cmd_txgoaway
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_FRAME
    - STRTOU32_CHECK
    - malloc
    - memcpy
    - vbe32enc
    - vtc_fatal
    - STRTOU32
    - strcmp
    - CAST_OBJ_NOTNULL
    - free
    - strlen
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_txgoaway(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2146,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2147,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2148,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2150,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2151,1
    - Dst: INIT_FRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2153,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2157,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2158,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2162,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2164,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2164,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2168,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2168,1
    - Dst: htonl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2170,1
    - Dst: write_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2136
    functionDepth: 2
    functionLinenumber: 2136
    functionLinenumberEnd: 2173
    functionName: cmd_txwinup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_FRAME
    - STRTOU32_CHECK
    - htonl
    - vtc_fatal
    - memset
    - strcmp
    - CAST_OBJ_NOTNULL
    - PTOK
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - write_frame
    linkageType: ''
    returnType: void
    signature: void cmd_txwinup(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2180,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2182,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2182,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2183,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2184,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2187,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2187,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2188,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2188,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2190,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2191,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2191,1
    - Dst: clean_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2194,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2195,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2196,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2197,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2198,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    assertStmts:
    - condition: (s->hp->wf >= 0)
      pos:
        line_end: 2183
        line_start: 2183
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    constantsTouched: []
    func_position:
      end: 2200
      start: 2175
    functionDepth: 2
    functionLinenumber: 2175
    functionLinenumberEnd: 2200
    functionName: rxstuff
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - clean_frame
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - VTAILQ_LAST
    - pthread_mutex_lock
    - PTOK
    - assert
    - pthread_cond_wait
    - VTAILQ_REMOVE
    - pthread_mutex_unlock
    - pthread_cond_signal
    linkageType: ''
    returnType: struct frame
    signature: 'struct frame *

      rxstuff(struct stream *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rt
    - ','
    - wt
    - ','
    - rcv
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2202
    functionDepth: 0
    functionLinenumber: 2202
    functionLinenumberEnd: 2211
    functionName: CHKFRAME
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHKFRAME(rt, wt, rcv, func)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2235,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2238,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2239,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2241,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2243,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2249,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2252,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2252,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2256,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2224
    functionDepth: 3
    functionLinenumber: 2224
    functionLinenumberEnd: 2260
    functionName: cmd_rxhdrs
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHKFRAME
    - replace_frame
    - STRTOU32_CHECK
    - vtc_fatal
    - strcmp
    - CAST_OBJ_NOTNULL
    - rxstuff
    linkageType: ''
    returnType: void
    signature: void cmd_rxhdrs(CMD_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2273,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2276,1
    - Dst: STRTOU32
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2277,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2279,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2281,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2286,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2289,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2289,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2293,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2262
    functionDepth: 3
    functionLinenumber: 2262
    functionLinenumberEnd: 2296
    functionName: cmd_rxcont
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHKFRAME
    - replace_frame
    - vtc_fatal
    - STRTOU32
    - strcmp
    - CAST_OBJ_NOTNULL
    - rxstuff
    linkageType: ''
    returnType: void
    signature: void cmd_rxcont(CMD_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2323,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2326,1
    - Dst: STRTOU32
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2328,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2330,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2332,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2337,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2340,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2340,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2344,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2312
    functionDepth: 3
    functionLinenumber: 2312
    functionLinenumberEnd: 2347
    functionName: cmd_rxdata
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHKFRAME
    - replace_frame
    - vtc_fatal
    - STRTOU32
    - strcmp
    - CAST_OBJ_NOTNULL
    - rxstuff
    linkageType: ''
    returnType: void
    signature: void cmd_rxdata(CMD_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2368,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2370,1
    - Dst: ONLY_H2_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2371,1
    - Dst: ONLY_H2_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2373,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2376,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2376,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2377,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2383,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2388,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2388,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2389,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2393,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2397,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2397,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2398,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2402,1
    - Dst: replace_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2360
    functionDepth: 3
    functionLinenumber: 2360
    functionLinenumberEnd: 2406
    functionName: cmd_rxmsg
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHKFRAME
    - replace_frame
    - ONLY_H2_CLIENT
    - strcmp
    - CAST_OBJ_NOTNULL
    - rxstuff
    - ONLY_H2_SERVER
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void cmd_rxmsg(CMD_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2431,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2434,1
    - Dst: STRTOU32_CHECK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2435,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2437,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2439,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2445,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2448,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2420
    functionDepth: 3
    functionLinenumber: 2420
    functionLinenumberEnd: 2456
    functionName: cmd_rxpush
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHKFRAME
    - STRTOU32_CHECK
    - vtc_fatal
    - strcmp
    - rxstuff
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_rxpush(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2468,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2469,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2470,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2462
    functionDepth: 3
    functionLinenumber: 2462
    functionLinenumberEnd: 2475
    functionName: cmd_rxwinup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - rxstuff
    - CHKFRAME
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_rxwinup(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2489,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2490,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2491,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2492,1
    - Dst: CHKFRAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2493,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2494,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2481
    functionDepth: 3
    functionLinenumber: 2481
    functionLinenumberEnd: 2500
    functionName: cmd_rxsettings
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHKFRAME
    - CAST_OBJ_NOTNULL
    - rxstuff
    - isnan
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void cmd_rxsettings(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2510,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2512,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2515,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2505
    functionDepth: 3
    functionLinenumber: 2505
    functionLinenumberEnd: 2523
    functionName: cmd_rxprio
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - vtc_fatal
    - rxstuff
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_rxprio (CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lctype
    - ','
    - upctype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2541
    functionName: RXFUNC
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RXFUNC(lctype, upctype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2571,1
    - Dst: rxstuff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2572,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2564
    functionDepth: 3
    functionLinenumber: 2564
    functionLinenumberEnd: 2574
    functionName: cmd_rxframe
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - rxstuff
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_rxframe(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2586,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2588,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2590,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2590,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2593,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2594,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2595,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2596,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2597,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2597,1
    - Dst: cmd_var_resolve
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2598,1
    - Dst: cmd_var_resolve
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2600,1
    - Dst: vtc_expect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2601,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2602,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2576
    functionDepth: 2
    functionLinenumber: 2576
    functionLinenumberEnd: 2603
    functionName: cmd_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - cmd_var_resolve
    - strcmp
    - AZ
    - CAST_OBJ_NOTNULL
    - PTOK
    - pthread_mutex_lock
    - vtc_expect
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void cmd_expect(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2618,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2620,1
    - Dst: vtc_gunzip
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2609
    functionDepth: 1
    functionLinenumber: 2609
    functionLinenumberEnd: 2623
    functionName: cmd_gunzip
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vtc_gunzip
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_gunzip(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2636,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2637,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2638,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2639,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2640,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2640,1
    - Dst: VFIL_writefile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2641,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2642,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2644
      start: 2630
    functionDepth: 1
    functionLinenumber: 2630
    functionLinenumberEnd: 2644
    functionName: cmd_write_body
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - VFIL_writefile
    - AN
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - strerror
    linkageType: ''
    returnType: void
    signature: void cmd_write_body(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2691,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2692,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2686
    functionDepth: 4
    functionLinenumber: 2686
    functionLinenumberEnd: 2695
    functionName: stream_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - parse_string
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      stream_thread(void *priv)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2706,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2708,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2710,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2714,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2715,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2716,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2716,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2717,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2718,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2719,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2722,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2723,1
    - Dst: STRTOU32
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2728,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2730,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2733,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2738,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2738,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2739,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2740,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - name
    - h
    argTypes:
    - char*
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2700
    functionDepth: 1
    functionLinenumber: 2700
    functionLinenumberEnd: 2742
    functionName: stream_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - VTAILQ_INSERT_HEAD
    - vtc_log_set_cmd
    - CHECK_OBJ_NOTNULL
    - bprintf
    - vtc_logopen
    - vtc_fatal
    - REPLACE
    - STRTOU32
    - strcmp
    - pthread_mutex_lock
    - PTOK
    - pthread_cond_init
    - pthread_mutex_unlock
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct stream
    signature: 'struct stream *

      stream_new(const char *name, struct http *h)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2753,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2755,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2756,1
    - Dst: clean_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2757,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2759,1
    - Dst: clean_headers
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2760,1
    - Dst: clean_headers
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2761,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2762,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2763,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2764,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2765,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2748
    functionDepth: 2
    functionLinenumber: 2748
    functionLinenumberEnd: 2767
    functionName: stream_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - clean_headers
    - AZ
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - clean_frame
    - vtc_logclose
    - free
    linkageType: ''
    returnType: void
    signature: void stream_delete(struct stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2776,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2777,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2778,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2773
    functionDepth: 1
    functionLinenumber: 2773
    functionLinenumberEnd: 2780
    functionName: stream_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - PTOK
    - pthread_create
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void stream_start(struct stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2791,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2792,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2793,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2793,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2795,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2798,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2799,1
    - Dst: clean_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2800,1
    - Dst: clean_frame
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2785
    functionDepth: 2
    functionLinenumber: 2785
    functionLinenumberEnd: 2805
    functionName: stream_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - VTAILQ_REMOVE
    - PTOK
    - pthread_join
    - vtc_log
    - VTAILQ_FOREACH_SAFE
    - clean_frame
    linkageType: ''
    returnType: void
    signature: void stream_wait(struct stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2814,1
    - Dst: stream_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2811
    functionDepth: 3
    functionLinenumber: 2811
    functionLinenumberEnd: 2816
    functionName: stream_run
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - stream_wait
    - stream_start
    linkageType: ''
    returnType: void
    signature: void stream_run(struct stream *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2877,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2879,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2879,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2882,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2883,1
    - Dst: stream_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2886,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2893,1
    - Dst: stream_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2894,1
    - Dst: stream_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2900,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2902,1
    - Dst: stream_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2903,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2906,1
    - Dst: stream_run
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2907,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2911,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2912,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2870
    functionDepth: 4
    functionLinenumber: 2870
    functionLinenumberEnd: 2914
    functionName: cmd_stream
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - stream_wait
    - stream_start
    - stream_new
    - vtc_fatal
    - REPLACE
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - VTAILQ_FOREACH
    - stream_run
    linkageType: ''
    returnType: void
    signature: void cmd_stream(CMD_ARGS)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2938,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2957,1
    - Dst: HPK_ResizeTbl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2958,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2960,1
    - Dst: HPK_ResizeTbl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2961,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2964,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2967,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - hp
    - s
    argTypes:
    - struct http*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2916
    functionDepth: 1
    functionLinenumber: 2916
    functionLinenumberEnd: 2970
    functionName: b64_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - vtc_fatal
    - AN
    - HPK_ResizeTbl
    linkageType: ''
    returnType: void
    signature: void b64_settings(struct http *hp, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2975,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2976,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2976,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2977,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2977,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2978,1
    - Dst: HPK_NewCtx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2985,1
    - Dst: HPK_NewCtx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2986,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2987,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2988
      start: 2972
    functionDepth: 1
    functionLinenumber: 2972
    functionLinenumberEnd: 2988
    functionName: start_h2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - CHECK_OBJ_NOTNULL
    - HPK_NewCtx
    - PTOK
    - pthread_create
    - pthread_cond_init
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void start_h2(struct http *hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2995,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2996,1
    - Dst: stream_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2998,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2999,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:2999,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3000,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3001,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3001,1
    - Dst: stream_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3002,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3005,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3005,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3007,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3007,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3008,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3008,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3009,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3009,1
    - Dst: HPK_FreeCtx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3011,1
    - Dst: HPK_FreeCtx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3012,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3014,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3014,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3015,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c:3015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 2990
    functionDepth: 3
    functionLinenumber: 2990
    functionLinenumberEnd: 3016
    functionName: stop_h2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - stream_wait
    - pthread_cond_destroy
    - stream_delete
    - CHECK_OBJ_NOTNULL
    - HPK_FreeCtx
    - pthread_mutex_lock
    - PTOK
    - pthread_join
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - pthread_mutex_unlock
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void stop_h2(struct http *hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:80,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:80,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:82,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: cmd_vtest
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void cmd_vtest(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:101,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:101,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:103,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: cmd_varnishtest
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void cmd_varnishtest(CMD_ARGS)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:157,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:158,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:159,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:160,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:162,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:164,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:164,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:165,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:165,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:166,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:166,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:167,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:168,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:173,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:174,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:175,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:175,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:176,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:176,1
    - Dst: popen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:177,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:177,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:179,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:179,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:180,1
    - Dst: getc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:182,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:184,1
    - Dst: pclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:186,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:187,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:187,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:188,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:188,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:188,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:189,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:189,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:190,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:191,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:191,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:193,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:193,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:194,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:195,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:196,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:197,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:200,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:200,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:201,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:204,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:206,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:206,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:206,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:207,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:209,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:210,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:212,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 5
    argNames:
    - vl
    - ok
    - cmd
    - expect
    - re
    argTypes:
    - struct vtclog*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 213
    functionName: cmd_shell_engine
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - VSB_fini
    - WIFSIGNALED
    - VSB_finish
    - VSB_printf
    - WEXITSTATUS
    - getc
    - VSB_clear
    - pclose
    - popen
    - AN
    - VSB_putc
    - VRE_free
    - WTERMSIG
    - vtc_log
    - VSB_data
    - VRE_error
    - vtc_fatal
    - AZ
    - VSB_len
    - VRE_match
    - VSB_new_auto
    - strstr
    - VSB_init
    - strerror
    - vtc_dump
    - VSB_destroy
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: "void cmd_shell_engine(struct vtclog *vl, int ok, const char *cmd,\n
      \   const char *expect, const char *re)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:229,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:231,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:233,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:234,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:236,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:240,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:242,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:250,1
    - Dst: cmd_shell_engine
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 252
    functionName: cmd_shell
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_fatal
    - strcmp
    - cmd_shell_engine
    - atoi
    linkageType: ''
    returnType: void
    signature: void cmd_shell(CMD_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:275,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:280,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:281,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:283,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:283,1
    - Dst: fputs
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:285,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:286,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 287
    functionName: cmd_filewrite
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strerror
    - strcmp
    - AZ
    - fputs
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: void cmd_filewrite(CMD_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:313,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:314,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:317,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:320,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:323,1
    - Dst: setenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:324,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:326,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: cmd_setenv
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - AN
    - setenv
    - vtc_fatal
    - strcmp
    - strerror
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void cmd_setenv(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:345,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:346,1
    - Dst: VNUM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:347,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:348,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:349,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:350,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: cmd_delay
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_fatal
    - VNUM
    - AZ
    - isnan
    - vtc_log
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void cmd_delay(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:374,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:377,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:379,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:380,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:381,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:382,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:383,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 386
    functionName: cmd_include
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strerror
    - vtc_log
    - VFIL_readfile
    - parse_string
    - free
    linkageType: ''
    returnType: void
    signature: void cmd_include(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:400,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:404,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:405,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:406,1
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:409,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 415
    functionName: dns_works
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - VSS_ResolveOne
    - VTCP_name
    - VSA_free
    - strcmp
    linkageType: ''
    returnType: int
    signature: int dns_works(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:427,1
    - Dst: VTCP_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:430,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:431,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - target
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: ipvx_works
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - VSS_ResolveOne
    - VSA_free
    - VTCP_bind
    - VTCP_close
    linkageType: ''
    returnType: int
    signature: int ipvx_works(const char *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: personality
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:447,1
    - Dst: personality
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 451
    functionName: addr_no_randomize_works
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - personality
    linkageType: ''
    returnType: int
    signature: int addr_no_randomize_works(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VUS_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - uds
    argTypes:
    - void*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: uds_socket
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - VUS_bind
    linkageType: ''
    returnType: int
    signature: int uds_socket(void *priv, const struct sockaddr_un *uds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VUS_resolver
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:467,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:470,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 472
    functionName: abstract_uds_works
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - close
    - VUS_resolver
    - AZ
    linkageType: ''
    returnType: int
    signature: int abstract_uds_works(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:625,1
    - Dst: ipvx_works
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:625,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:626,1
    - Dst: ipvx_works
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:626,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:627,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:628,1
    - Dst: addr_no_randomize_works
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:628,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:629,1
    - Dst: dns_works
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:629,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:630,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:631,1
    - Dst: geteuid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:631,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:632,1
    - Dst: getpwnam
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:632,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:633,1
    - Dst: getpwnam
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:633,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:634,1
    - Dst: getpwnam
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:634,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:635,1
    - Dst: getgrnam
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:635,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:636,1
    - Dst: getgrnam
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:636,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:637,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:638,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:639,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:640,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:641,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:642,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:643,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:644,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:645,1
    - Dst: abstract_uds_works
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:645,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:647,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:650,1
    - Dst: getpwnam
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:652,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:656,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:659,1
    - Dst: getgrnam
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:661,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:665,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:670,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:671,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:672,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:674,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:677,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:682,1
    - Dst: find_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:683,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:687,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:694,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c:697,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 701
    functionName: cmd_feature
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 0
    functionsReached:
    - getpwnam
    - geteuid
    - addr_no_randomize_works
    - vtc_fatal
    - WEXITSTATUS
    - FEATURE
    - dns_works
    - strcmp
    - abstract_uds_works
    - system
    - ipvx_works
    - vtc_log
    - find_cmd
    - getgrnam
    linkageType: ''
    returnType: void
    signature: void cmd_feature(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nm
    - ','
    - tst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 612
    functionName: FEATURE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FEATURE(nm, tst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: CMD_GLOBAL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_GLOBAL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: CMD_TOP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_TOP(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: teken_scs_process
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_scs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: teken_char_t
    signature: teken_char_t teken_scs_process(const teken_t *t, teken_char_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: teken_scs_special_graphics
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_scs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: teken_char_t
    signature: teken_char_t teken_scs_special_graphics(const teken_t *t, teken_char_t
      c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: teken_scs_uk_national
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_scs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: teken_char_t
    signature: teken_char_t teken_scs_uk_national(const teken_t *t, teken_char_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: teken_scs_us_ascii
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_scs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: teken_char_t
    signature: teken_char_t teken_scs_us_ascii(const teken_t *t, teken_char_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:62,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:63,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:64,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:65,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:66,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: vsm_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_logopen
    - REPLACE
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vtc_vsm
    signature: 'struct vtc_vsm *

      vsm_new(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:76,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:78,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:79,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:80,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vtc_vsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: vsm_detach
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - AZ
    - vtc_log
    - VSM_Destroy
    linkageType: ''
    returnType: void
    signature: void vsm_detach(struct vtc_vsm *m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:89,1
    - Dst: vsm_detach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:91,1
    - Dst: macro_expandf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:93,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:95,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:96,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:96,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:98,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:99,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:101,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:101,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:102,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:102,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:103,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:104,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:104,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vtc_vsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: vsm_attach
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSM_New
    - vtc_fatal
    - VSM_Error
    - vsm_detach
    - macro_expandf
    - VSM_Arg
    - vtc_log
    - VSB_data
    - VSM_Attach
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vsm_attach(struct vtc_vsm *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:113,1
    - Dst: vsm_detach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:115,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:116,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:117,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:118,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct vtc_vsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: vsm_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - REPLACE
    - vsm_detach
    - vtc_logclose
    linkageType: ''
    returnType: void
    signature: void vsm_delete(struct vtc_vsm *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: STATUS_BITS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_BITS()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:139,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:141,1
    - Dst: vsm_attach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:144,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:146,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:147,1
    - Dst: STATUS_BITS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:156,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:158,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:160,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:163,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:164,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:165,1
    - Dst: STATUS_BITS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:174,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:178,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:183,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:183,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:184,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:185,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:188,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - m
    - exp
    argTypes:
    - struct vtc_vsm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 190
    functionName: vsm_expect_status
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached:
    - STATUS_BITS
    - VAV_Parse
    - AN
    - vsm_attach
    - CHECK_OBJ_NOTNULL
    - VAV_Free
    - VSB_finish
    - vtc_fatal
    - AZ
    - VSM_Status
    - vtc_log
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vsm_expect_status(struct vtc_vsm *m, const char *exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: STATUS_BIT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_BIT(b, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: STATUS_BIT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATUS_BIT(b, s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:244,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:245,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:246,1
    - Dst: vsm_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:247,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:252,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:252,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:255,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:256,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:257,1
    - Dst: vsm_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:262,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:263,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:270,1
    - Dst: vsm_attach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:271,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:274,1
    - Dst: vsm_detach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:275,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:278,1
    - Dst: vsm_expect_status
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:279,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:283,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:285,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:286,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c:290,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 292
    functionName: cmd_vsm
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    functionUses: 0
    functionsReached:
    - VTC_CHECK_NAME
    - vsm_new
    - vsm_expect_status
    - AN
    - CHECK_OBJ_NOTNULL
    - vsm_attach
    - vtc_fatal
    - REPLACE
    - vsm_detach
    - AZ
    - strcmp
    - vsm_delete
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void cmd_vsm(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ucs
    - table
    - max
    argTypes:
    - teken_char_t
    - struct interval*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 38
    functionName: bisearch
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bisearch(teken_char_t ucs, const struct interval *table, int max)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bisearch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h:105,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 8
    argCount: 1
    argNames:
    - ucs
    argTypes:
    - teken_char_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 126
    functionName: teken_wcwidth
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h
    functionUses: 1
    functionsReached:
    - bisearch
    linkageType: ''
    returnType: int
    signature: int teken_wcwidth(teken_char_t ucs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clz
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - bytes
    - nbytes
    argTypes:
    - uint8_t[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 180
    functionName: teken_utf8_bytes_to_codepoint
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h
    functionUses: 0
    functionsReached:
    - __builtin_clz
    linkageType: ''
    returnType: teken_char_t
    signature: teken_char_t teken_utf8_bytes_to_codepoint(uint8_t bytes[4], int nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:240,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:241,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:242,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:243,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:244,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:245,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:247,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct logexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: logexp_delete_tests
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - VRE_free
    - VTAILQ_REMOVE
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void logexp_delete_tests(struct logexp *le)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:255,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:256,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:257,1
    - Dst: VSL_Delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:258,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:259,1
    - Dst: logexp_delete_tests
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:260,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:261,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:262,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:263,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:264,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:265,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct logexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: logexp_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - AN
    - VSL_Delete
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - AZ
    - VSM_Destroy
    - vtc_logclose
    - free
    - logexp_delete_tests
    linkageType: ''
    returnType: void
    signature: void logexp_delete(struct logexp *le)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:275,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:276,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:277,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:278,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:279,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:280,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:284,1
    - Dst: VSL_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:285,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:286,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:287,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:289,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:291,1
    - Dst: macro_expandf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:293,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:295,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:296,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:296,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:297,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:298,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:299,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:300,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:301,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - name
    - varg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 303
    functionName: logexp_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - VSL_New
    - vtc_log_set_cmd
    - VSM_New
    - vtc_logopen
    - vtc_fatal
    - REPLACE
    - VSM_Error
    - macro_expandf
    - VSM_Arg
    - VTAILQ_INSERT_TAIL
    - VSB_data
    - VSM_Attach
    - ALLOC_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: struct logexp
    signature: 'struct logexp *

      logexp_new(const char *name, const char *varg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct tests_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: logexp_clean
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void logexp_clean(const struct tests_head *head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:318,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct logexp_test*
    assertStmts:
    - condition: (test->skip_max == LE_ALT)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: logexp_alt
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - assert
    - VTAILQ_NEXT
    linkageType: ''
    returnType: struct logexp_test
    signature: 'struct logexp_test *

      logexp_alt(struct logexp_test *test)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:333,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:342,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:343,1
    - Dst: logexp_clean
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:345,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:346,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:347,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:353,1
    - Dst: logexp_next
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:357,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:360,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:361,1
    - Dst: logexp_next
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:362,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:365,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:365,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:366,1
    - Dst: logexp_next
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:367,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:370,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:371,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:373,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct logexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 375
    functionName: logexp_next
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - VTAILQ_FIRST
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - NEEDLESS
    - vtc_log
    - abort
    - VTAILQ_NEXT
    - VSB_data
    - logexp_clean
    - CHECK_OBJ
    - logexp_next
    linkageType: ''
    returnType: void
    signature: void logexp_next(struct logexp *le)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:390,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:391,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:392,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:393,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:414,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:449,1
    - Dst: logexp_alt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:459,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:462,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:462,1
    - Dst: logexp_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:463,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 69
    argCount: 7
    argNames:
    - le
    - test
    - data
    - vxid
    - tag
    - type
    - len
    argTypes:
    - struct logexp*
    - struct logexp_test*
    - char*
    - int64_t
    - int
    - int
    - int
    assertStmts:
    - condition: (test->skip_max != LE_CLEAR)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    - condition: (test->skip_max != LE_SEEN)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    constantsTouched: []
    func_position:
      end: 468
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 468
    functionName: logexp_match
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 1
    functionsReached:
    - AN
    - logexp_match
    - assert
    - VRE_match
    - logexp_alt
    - vtc_log
    - VSB_data
    linkageType: ''
    returnType: enum le_match_e
    signature: "enum le_match_e logexp_match(const struct logexp *le, struct logexp_test
      *test,\n    const char *data, int64_t vxid, int tag, int type, int len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:477,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:480,1
    - Dst: logexp_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:481,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - le
    - data
    - vxid
    - tag
    - type
    - len
    argTypes:
    - struct logexp*
    - char*
    - int64_t
    - int
    - int
    - int
    assertStmts:
    - condition: (r == LEM_FAIL)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    constantsTouched: []
    func_position:
      end: 487
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 487
    functionName: logexp_failchk
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - assert
    - VTAILQ_FIRST
    - VTAILQ_FOREACH
    - logexp_match
    linkageType: ''
    returnType: enum le_match_e
    signature: "enum le_match_e logexp_failchk(const struct logexp *le,\n    const
      char *data, int64_t vxid, int tag, int type, int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct logexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: logexp_done
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    linkageType: ''
    returnType: int
    signature: int logexp_done(const struct logexp *le)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:507,1
    - Dst: VSL_Next
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:510,1
    - Dst: VSL_Match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:511,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:514,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:515,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:520,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:521,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:522,1
    - Dst: VSL_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:523,1
    - Dst: VSL_BACKEND
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:524,1
    - Dst: logexp_failchk
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:526,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:530,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:534,1
    - Dst: logexp_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:536,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:544,1
    - Dst: logexp_next
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:548,1
    - Dst: logexp_done
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:549,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - vsl
    - pt
    - priv
    argTypes:
    - struct VSL_data*
    - struct VSL_transaction*[]
    - void*
    assertStmts:
    - condition: (r == LEM_OK)
      pos:
        line_end: 529
        line_start: 529
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    - condition: (r == LEM_OK)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    constantsTouched: []
    func_position:
      end: 554
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 554
    functionName: logexp_dispatch
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - logexp_done
    - AN
    - VSL_LEN
    - VSL_Match
    - CHECK_OBJ_NOTNULL
    - VSL_Next
    - logexp_failchk
    - VSL_CDATA
    - VSL_BACKEND
    - VSL_TAG
    - CAST_OBJ_NOTNULL
    - assert
    - logexp_match
    - VSL_CLIENT
    - logexp_next
    - VSL_ID
    linkageType: ''
    returnType: void
    signature: "void logexp_dispatch(struct VSL_data *vsl, struct VSL_transaction
      * const pt[],\n    void *priv)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:562,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:563,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:564,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:565,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:567,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:568,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:570,1
    - Dst: logexp_next
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:571,1
    - Dst: logexp_done
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:572,1
    - Dst: VSLQ_Dispatch
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:573,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:575,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:579,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:581,1
    - Dst: logexp_done
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:582,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:583,1
    - Dst: logexp_done
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:585,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:586,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:587,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: logexp_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - logexp_done
    - AN
    - vtc_fatal
    - AZ
    - CAST_OBJ_NOTNULL
    - VSLQ_Dispatch
    - vtc_log
    - VTIM_sleep
    - logexp_next
    linkageType: ''
    returnType: void
    signature: 'void *

      logexp_thread(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:596,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:597,1
    - Dst: VSLQ_Delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:599,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct logexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: logexp_close
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - VSLQ_Delete
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void logexp_close(struct logexp *le)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:608,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:609,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:610,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:612,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:613,1
    - Dst: VSL_CursorVSM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:614,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:617,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:617,1
    - Dst: VSLQ_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:618,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:620,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:621,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:621,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:623,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:629,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct logexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 630
    functionName: logexp_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - VSLQ_New
    - AN
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - AZ
    - PTOK
    - pthread_create
    - VSM_Status
    - VSL_Error
    - VSL_DeleteCursor
    - VSL_CursorVSM
    linkageType: ''
    returnType: void
    signature: void logexp_start(struct logexp *le)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:637,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:638,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:639,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:639,1
    - Dst: logexp_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:640,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - le
    argTypes:
    - struct logexp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 644
    functionName: logexp_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - logexp_close
    - vtc_fatal
    - PTOK
    - pthread_join
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void logexp_wait(struct logexp *le)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:659,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:661,1
    - Dst: strtoll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:664,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:666,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:668,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:670,1
    - Dst: VSL_Name2Tag
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:673,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:673,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:675,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:679,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:681,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:681,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:682,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:682,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:683,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:683,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:684,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:685,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:690,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:691,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:692,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:693,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:694,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:694,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:696,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:697,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:697,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - le
    - vl
    - skip_max
    - av
    argTypes:
    - struct logexp*
    - struct vtclog*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 703
    functionName: cmd_logexp_common
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - VSL_Name2Tag
    - AN
    - VSB_fini
    - VSB_init
    - VSB_new_auto
    - VSB_finish
    - ALLOC_OBJ
    - vtc_fatal
    - VSB_printf
    - strcmp
    - AZ
    - strtoll
    - VSB_quote
    - VTAILQ_INSERT_TAIL
    - VRE_error
    - strlen
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: "void cmd_logexp_common(struct logexp *le, struct vtclog *vl,\n    int
      skip_max, char * const *av)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:712,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:714,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:717,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:719,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:721,1
    - Dst: strtol
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:724,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:726,1
    - Dst: cmd_logexp_common
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 729
    functionName: cmd_logexp_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strcmp
    - CAST_OBJ_NOTNULL
    - strtol
    - cmd_logexp_common
    linkageType: ''
    returnType: void
    signature: void cmd_logexp_expect(CMD_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:737,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:740,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:742,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:743,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:744,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:746,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:747,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:748,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:748,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:750,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:750,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:752,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:756,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:757,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:760,1
    - Dst: cmd_logexp_common
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 763
    functionName: cmd_logexp_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_new_auto
    - VSB_finish
    - vtc_fatal
    - VSB_printf
    - strcmp
    - CAST_OBJ_NOTNULL
    - AZ
    - cmd_logexp_common
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void cmd_logexp_fail(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:772,1
    - Dst: cmd_logexp_common
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 775
    functionName: cmd_logexp_abort
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - cmd_logexp_common
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_logexp_abort(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:780,1
    - Dst: logexp_delete_tests
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:782,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - le
    - spec
    argTypes:
    - struct logexp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 785
    functionName: logexp_spec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - parse_string
    - CHECK_OBJ_NOTNULL
    - logexp_delete_tests
    linkageType: ''
    returnType: void
    signature: void logexp_spec(struct logexp *le, const char *spec)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:797,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:798,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:799,1
    - Dst: pthread_cancel
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:801,1
    - Dst: logexp_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:802,1
    - Dst: logexp_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:804,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:809,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:809,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:812,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:813,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:814,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:818,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:819,1
    - Dst: logexp_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:820,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:828,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:830,1
    - Dst: logexp_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:832,1
    - Dst: logexp_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:841,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:842,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:844,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:845,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:846,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:850,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:852,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:853,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:857,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:859,1
    - Dst: VSLQ_Name2Grouping
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:860,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:860,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:862,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:868,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:870,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:871,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:875,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:879,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:883,1
    - Dst: logexp_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:884,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:887,1
    - Dst: logexp_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:888,1
    - Dst: logexp_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:889,1
    - Dst: VSL_Arg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:894,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:898,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:898,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:900,1
    - Dst: logexp_spec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c:902,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 787
    functionDepth: 5
    functionLinenumber: 787
    functionLinenumberEnd: 904
    functionName: cmd_logexpect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    functionUses: 0
    functionsReached:
    - logexp_spec
    - strlen
    - REPLACE
    - logexp_new
    - VSL_Error
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH
    - VTC_CHECK_NAME
    - logexp_wait
    - pthread_cancel
    - CHECK_OBJ_NOTNULL
    - logexp_delete
    - vtc_fatal
    - AZ
    - strcmp
    - atoi
    - VTAILQ_FOREACH_SAFE
    - VSL_Arg
    - VSLQ_Name2Grouping
    - logexp_start
    linkageType: ''
    returnType: void
    signature: void cmd_logexpect(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vl
    - cmds
    argTypes:
    - struct vtclog*
    - struct cmds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: vtc_log_set_cmd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 2
    functionsReached:
    - AN
    linkageType: ''
    returnType: void
    signature: void vtc_log_set_cmd(struct vtclog *vl, const struct cmds *cmds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: GET_VL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_VL(vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: REL_VL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REL_VL(vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:86,1
    - Dst: vbprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:87,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:88,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:90,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:91,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:92,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:93,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:94,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:94,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:95,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: vtc_logopen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 11
    functionsReached:
    - pthread_mutex_init
    - AN
    - VSB_new_auto
    - vbprintf
    - REPLACE
    - PTOK
    - va_start
    - pthread_setspecific
    - ALLOC_OBJ
    - va_end
    linkageType: ''
    returnType: struct vtclog
    signature: 'struct vtclog *

      vtc_logopen(const char *fmt, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:104,1
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:105,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:106,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:106,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:107,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:108,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:108,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:109,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: vtc_logclose
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 10
    functionsReached:
    - pthread_mutex_destroy
    - FREE_OBJ
    - pthread_getspecific
    - REPLACE
    - CAST_OBJ_NOTNULL
    - PTOK
    - pthread_setspecific
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vtc_logclose(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:118,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:118,1
    - Dst: pthread_exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:119,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:121,1
    - Dst: fail_out
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:121,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 5
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: v_noreturn_::vtc_logfail
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - exit
    - pthread_equal
    - WRONG
    - pthread_exit
    - fail_out
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      vtc_logfail(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:140,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:141,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:142,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - vl
    - lvl
    - fmt
    - ap
    argTypes:
    - struct vtclog*
    - int
    - char*
    - va_list
    assertStmts:
    - condition: (lvl < (int)NLEAD)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    - condition: (lvl >= 0)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: vtc_leadinv
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 0
    functionsReached:
    - assert
    - VSB_printf
    - VSB_vprintf
    linkageType: ''
    returnType: void
    signature: void vtc_leadinv(const struct vtclog *vl, int lvl, const char *fmt,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:153,1
    - Dst: vtc_leadinv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:154,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vl
    - lvl
    - fmt
    argTypes:
    - struct vtclog*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: vtc_leadin
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 0
    functionsReached:
    - vtc_leadinv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void vtc_leadin(const struct vtclog *vl, int lvl, const char *fmt,
      ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:166,1
    - Dst: round
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:169,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:169,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:170,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:170,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:172,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:173,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:179,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:180,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:180,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:184,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - vl
    argTypes:
    - struct vtclog*
    assertStmts:
    - condition: (vtclog_left > 25)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    - condition: (vtclog_left > l)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: vtc_log_emit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 0
    functionsReached:
    - memcpy
    - VSB_data
    - VSB_len
    - pthread_mutex_lock
    - PTOK
    - assert
    - VTIM_mono
    - round
    - snprintf
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void vtc_log_emit(const struct vtclog *vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:191,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:193,1
    - Dst: vtc_leadinv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:194,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:195,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:196,1
    - Dst: REL_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:197,1
    - Dst: vtc_logfail
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - vl
    - fmt
    argTypes:
    - struct vtclog*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: vtc_fatal
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 71
    functionsReached:
    - GET_VL
    - VSB_putc
    - vtc_leadinv
    - REL_VL
    - va_start
    - vtc_logfail
    - va_end
    linkageType: ''
    returnType: void
    signature: void vtc_fatal(struct vtclog *vl, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:206,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:208,1
    - Dst: vtc_leadinv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:210,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:211,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:213,1
    - Dst: REL_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:214,1
    - Dst: vtc_logfail
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - vl
    - lvl
    - fmt
    argTypes:
    - struct vtclog*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: vtc_log
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 96
    functionsReached:
    - GET_VL
    - VSB_putc
    - vtc_leadinv
    - REL_VL
    - va_start
    - vtc_logfail
    - va_end
    linkageType: ''
    returnType: void
    signature: void vtc_log(struct vtclog *vl, int lvl, const char *fmt, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:232,1
    - Dst: GET_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:233,1
    - Dst: vtc_leadin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:235,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:237,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:240,1
    - Dst: VSB_quote_pfx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:243,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:246,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:248,1
    - Dst: REL_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:251,1
    - Dst: vtc_logfail
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - vl
    - lvl
    - pfx
    - str
    - len
    argTypes:
    - struct vtclog*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 254
    functionName: vtc_dump
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 10
    functionsReached:
    - GET_VL
    - AN
    - VSB_putc
    - bprintf
    - VSB_printf
    - VSB_quote_pfx
    - REL_VL
    - vtc_logfail
    - strlen
    - vtc_leadin
    linkageType: ''
    returnType: void
    signature: void vtc_dump(struct vtclog *vl, int lvl, const char *pfx, const char
      *str, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:268,1
    - Dst: GET_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:269,1
    - Dst: vtc_leadin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:271,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:275,1
    - Dst: vtc_leadin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:279,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:282,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:284,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:290,1
    - Dst: REL_VL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:291,1
    - Dst: vtc_logfail
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - vl
    - lvl
    - pfx
    - ptr
    - len
    argTypes:
    - struct vtclog*
    - int
    - char*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: vtc_hexdump
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 3
    functionsReached:
    - GET_VL
    - AN
    - VSB_printf
    - VSB_cat
    - REL_VL
    - vtc_logfail
    - vtc_leadin
    linkageType: ''
    returnType: void
    signature: "void vtc_hexdump(struct vtclog *vl, int lvl, const char *pfx,\n    const
      void *ptr, unsigned len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VBT_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:308,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:309,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:310,1
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:313,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:315,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:319,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:321,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:325,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - func
    - file
    - line
    - cond
    - why
    argTypes:
    - char*
    - char*
    - int
    - char*
    - enum vas_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 328
    functionName: v_noreturn_::vtc_log_VAS_Fail
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 0
    functionsReached:
    - fprintf
    - bprintf
    - vtc_fatal
    - pthread_getspecific
    - VBT_dump
    - strerror
    - abort
    linkageType: ''
    returnType: void
    signature: "void v_noreturn_\nvtc_log_VAS_Fail(const char *func, const char *file,
      int line,\n    const char *cond, enum vas_e why)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:337,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:340,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:340,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:341,1
    - Dst: pthread_key_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: vtc_loginit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
    functionUses: 1
    functionsReached:
    - PTOK
    - pthread_key_create
    - pthread_mutex_init
    - VTIM_mono
    linkageType: ''
    returnType: void
    signature: void vtc_loginit(char *buf, unsigned buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:83,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:84,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:87,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:88,1
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:89,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:91,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:93,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:94,1
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:95,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:97,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:99,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:100,1
    - Dst: vtc_proxy_tlv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:101,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:103,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:105,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:105,1
    - Dst: vtc_send_proxy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:106,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:107,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:107,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:108,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - vl
    - fd
    - version
    - speca
    argTypes:
    - struct vtclog*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: client_proxy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - AN
    - VSA_free
    - VSB_finish
    - strtok_r
    - vtc_fatal
    - strdup
    - AZ
    - strerror
    - VSS_ResolveOne
    - vtc_send_proxy
    - VSB_new_auto
    - free
    - vtc_proxy_tlv
    linkageType: ''
    returnType: void
    signature: void client_proxy(struct vtclog *vl, int fd, int version, const char
      *speca)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:123,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:124,1
    - Dst: VTCP_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:125,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:128,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - vl
    - addr
    - tmo
    - errp
    argTypes:
    - struct vtclog*
    - char*
    - double
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: client_tcp_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - VTCP_myname
    - AN
    - VTCP_open
    linkageType: ''
    returnType: int
    signature: "int client_tcp_connect(struct vtclog *vl, const char *addr, double
      tmo,\n\t\t   const char **errp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VUS_socklen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:143,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:145,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:146,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:148,1
    - Dst: socket
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:151,1
    - Dst: VTCP_nonblocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:155,1
    - Dst: connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:156,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:160,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:167,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:170,1
    - Dst: VTCP_connected
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - priv
    - uds
    argTypes:
    - void*
    - struct sockaddr_un*
    assertStmts:
    - condition: (*p > 0.)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    constantsTouched: []
    func_position:
      end: 176
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 176
    functionName: uds_open
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - AN
    - connect
    - VTCP_connected
    - VTCP_nonblocking
    - assert
    - VUS_socklen
    - poll
    - socket
    - closefd
    linkageType: ''
    returnType: void
    signature: void uds_open(void *priv, const struct sockaddr_un *uds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:184,1
    - Dst: VUS_resolver
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:187,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:189,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - vl
    - path
    - tmo
    - errp
    argTypes:
    - struct vtclog*
    - char*
    - double
    - char**
    assertStmts:
    - condition: (tmo >= 0)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: client_uds_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - assert
    - VUS_resolver
    - vtc_log
    - strerror
    linkageType: ''
    returnType: int
    signature: "int client_uds_connect(struct vtclog *vl, const char *path, double
      tmo,\n\t\t   const char **errp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:202,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:203,1
    - Dst: client_uds_connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:204,1
    - Dst: client_tcp_connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:206,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:208,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:211,1
    - Dst: client_proxy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - vl
    - c
    argTypes:
    - struct vtclog*
    - struct client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 215
    functionName: client_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - client_tcp_connect
    - vtc_fatal
    - client_proxy
    - VTCP_blocking
    - vtc_log
    - VUS_is
    - client_uds_connect
    linkageType: ''
    returnType: int
    signature: int client_connect(struct vtclog *vl, struct client *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:226,1
    - Dst: client_connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - vl
    argTypes:
    - void*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: client_conn
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - client_connect
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int client_conn(void *priv, struct vtclog *vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:234,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - vl
    - fdp
    argTypes:
    - void*
    - struct vtclog*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: client_disc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void client_disc(void *priv, struct vtclog *vl, int *fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:248,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:249,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:250,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:251,1
    - Dst: Sess_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:252,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:253,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:255,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 258
    functionName: client_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - bprintf
    - vtc_logopen
    - REPLACE
    - Sess_New
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct client
    signature: 'struct client *

      client_new(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:268,1
    - Dst: Sess_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:269,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:270,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:271,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:272,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:273,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:274,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: client_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - Sess_Destroy
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - vtc_logclose
    - free
    linkageType: ''
    returnType: void
    signature: void client_delete(struct client *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:288,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:289,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:291,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:292,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:293,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:293,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:294,1
    - Dst: Sess_Start_Thread
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: client_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - REPLACE
    - macro_expand
    - vtc_log
    - VSB_data
    - Sess_Start_Thread
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void client_start(struct client *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:315,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:316,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:317,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:317,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: client_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - PTOK
    - pthread_join
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void client_wait(struct client *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: client_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:332,1
    - Dst: client_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct client*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: client_run
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - client_wait
    - client_start
    linkageType: ''
    returnType: void
    signature: void client_run(struct client *c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:350,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:351,1
    - Dst: client_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:353,1
    - Dst: client_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:354,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:359,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:359,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:362,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:363,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:364,1
    - Dst: client_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:367,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:374,1
    - Dst: client_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:375,1
    - Dst: client_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:381,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:383,1
    - Dst: Sess_GetOpt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:384,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:387,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:388,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:392,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:393,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:398,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:399,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:404,1
    - Dst: client_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:405,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:408,1
    - Dst: client_run
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:409,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:413,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c:414,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 341
    functionDepth: 5
    functionLinenumber: 341
    functionLinenumberEnd: 416
    functionName: cmd_client
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    functionUses: 0
    functionsReached:
    - VTC_CHECK_NAME
    - VTAILQ_FOREACH
    - client_delete
    - Sess_GetOpt
    - bprintf
    - REPLACE
    - client_new
    - vtc_fatal
    - AZ
    - strcmp
    - client_start
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - client_run
    - client_wait
    linkageType: ''
    returnType: void
    signature: void cmd_client(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:142,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:143,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:144,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:145,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:146,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:147,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - h
    - name
    - value
    argTypes:
    - struct haproxy*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: haproxy_add_envar
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - strdup
    - malloc
    linkageType: ''
    returnType: void
    signature: "void haproxy_add_envar(struct haproxy *h,\n                  const
      char *name, const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:155,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:156,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:157,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:158,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: haproxy_delete_envars
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - free
    linkageType: ''
    returnType: void
    signature: void haproxy_delete_envars(struct haproxy *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:168,1
    - Dst: setenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:169,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:170,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: haproxy_build_env
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - VTAILQ_FOREACH
    - setenv
    - strerror
    linkageType: ''
    returnType: void
    signature: void haproxy_build_env(const struct haproxy *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:186,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:187,1
    - Dst: VTCP_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:188,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:191,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - vl
    - addr
    - tmo
    - errp
    argTypes:
    - struct vtclog*
    - char*
    - vtim_dur
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: haproxy_cli_tcp_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - VTCP_myname
    - AN
    - VTCP_open
    linkageType: ''
    returnType: int
    signature: "int haproxy_cli_tcp_connect(struct vtclog *vl, const char *addr, vtim_dur
      tmo,\n    const char **errp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:212,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:213,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:213,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:214,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:215,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:217,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:218,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:219,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:219,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:220,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:220,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:221,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:221,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:227,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:228,1
    - Dst: haproxy_cli_tcp_connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:229,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:230,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:232,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:233,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:234,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:237,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:237,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:239,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:240,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:241,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:245,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:246,1
    - Dst: VTCP_Check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:247,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:248,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:248,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 251
    functionName: cmd_haproxy_cli_send
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - AN
    - VTCP_Check
    - VSB_finish
    - haproxy_cli_tcp_connect
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - strerror
    - VSB_cat
    - vtc_dump
    - VSB_tofile
    - shutdown
    - macro_expand
    - vtc_log
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void cmd_haproxy_cli_send(CMD_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_set_read_timeout
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:264,1
    - Dst: recv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:266,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:271,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:273,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:278,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:282,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:283,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:284,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct haproxy_cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 294
    functionName: haproxy_cli_recv
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - VTCP_set_read_timeout
    - vtc_fatal
    - strerror
    - vtc_dump
    - vtc_log
    - recv
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void haproxy_cli_recv(struct haproxy_cli *hc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:313,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:314,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:314,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:319,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:320,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:323,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:323,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:323,1
    - Dst: haproxy_cli_recv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:325,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:327,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:329,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:329,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:330,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:330,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:331,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:331,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:332,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:333,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:337,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:339,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:343,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!strcmp(cmp, "~") || !strcmp(cmp, "!~"))
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 346
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 346
    functionName: cmd_haproxy_cli_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - VSB_finish
    - vtc_fatal
    - VRE_free
    - AZ
    - assert
    - strcmp
    - CAST_OBJ_NOTNULL
    - haproxy_cli_recv
    - VRE_match
    - vtc_log
    - VRE_error
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: void cmd_haproxy_cli_expect(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:368,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:369,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:371,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:372,1
    - Dst: haproxy_cli_tcp_connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:374,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:374,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:376,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:377,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:378,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:380,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:381,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 384
    functionName: haproxy_cli_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - AN
    - haproxy_cli_tcp_connect
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - VTCP_blocking
    - macro_expand
    - vtc_log
    - VSB_data
    - parse_string
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: 'void *

      haproxy_cli_thread(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:395,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:396,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:397,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:397,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:399,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct haproxy_cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: haproxy_cli_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - REPLACE
    - PTOK
    - pthread_join
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void haproxy_cli_wait(struct haproxy_cli *hc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:412,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:413,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:414,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct haproxy_cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: haproxy_cli_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - PTOK
    - pthread_create
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void haproxy_cli_start(struct haproxy_cli *hc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: haproxy_cli_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:426,1
    - Dst: haproxy_cli_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct haproxy_cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: haproxy_cli_run
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - haproxy_cli_wait
    - haproxy_cli_start
    linkageType: ''
    returnType: void
    signature: void haproxy_cli_run(struct haproxy_cli *hc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:442,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:443,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:443,1
    - Dst: VPF_Read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:447,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:448,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:450,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:455,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:458,1
    - Dst: kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:462,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:463,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:465,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:471,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 477
    functionName: haproxy_wait_pidfile
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - usleep
    - bprintf
    - vtc_fatal
    - VTIM_mono
    - kill
    - vtc_log
    - VPF_Read
    linkageType: ''
    returnType: void
    signature: void haproxy_wait_pidfile(struct haproxy *h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:492,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:493,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:495,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:496,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:498,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:499,1
    - Dst: socket
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:502,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:508,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:510,1
    - Dst: bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:514,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:516,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:522,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:523,1
    - Dst: setenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:524,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:525,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts:
    - condition: (sd_path[0] == '/')
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    - condition: (h->sd_sock > 0)
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    - condition: (ret == 0)
      pos:
        line_end: 524
        line_start: 524
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 530
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 530
    functionName: haproxy_bind_sdnotify
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - setenv
    - bprintf
    - unlink
    - vtc_fatal
    - memset
    - assert
    - vtc_log
    - socket
    - bind
    - strlen
    - closefd
    linkageType: ''
    returnType: void
    signature: void haproxy_bind_sdnotify(struct haproxy *h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:543,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:546,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:550,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:551,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:553,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:555,1
    - Dst: recv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:557,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:560,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:564,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 567
    functionName: haproxy_wait_sdnotify_ready
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - memset
    - poll
    - vtc_log
    - recv
    - strstr
    linkageType: ''
    returnType: void
    signature: void haproxy_wait_sdnotify_ready(struct haproxy *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:577,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:578,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:581,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:583,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:586,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:587,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:588,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 592
    functionName: haproxy_cli_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - vtc_log_set_cmd
    - bprintf
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct haproxy_cli
    signature: 'struct haproxy_cli *

      haproxy_cli_new(struct haproxy *h)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:600,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:601,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:604,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:606,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:609,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:610,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:611,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: haproxy_mcli_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - vtc_log_set_cmd
    - bprintf
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct haproxy_cli
    signature: 'struct haproxy_cli *

      haproxy_mcli_new(struct haproxy *h)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:627,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:629,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:631,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:632,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:633,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:635,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:636,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:637,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:638,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:640,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:641,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts:
    - condition: (sock > 0)
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 645
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 645
    functionName: haproxy_create_mcli
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - VTCP_listen_on
    - bprintf
    - vtc_fatal
    - macro_def
    - assert
    - VTCP_name
    - VSA_Get_Proto
    linkageType: ''
    returnType: int
    signature: int haproxy_create_mcli(struct haproxy *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:650,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:651,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:652,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:653,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct haproxy_cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 655
    functionName: haproxy_cli_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - REPLACE
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void haproxy_cli_delete(struct haproxy_cli *hc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:674,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:675,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:676,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:678,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:679,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:681,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:682,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:685,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:686,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:687,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:689,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:693,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:694,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:695,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:696,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:696,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:697,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:698,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:700,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:701,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:702,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:704,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:705,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:706,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:711,1
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:712,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:714,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:716,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:717,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:718,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:719,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:720,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:721,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:723,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:724,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:725,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:726,1
    - Dst: haproxy_cli_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:728,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:729,1
    - Dst: haproxy_mcli_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:731,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:732,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:734,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:735,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:735,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:739,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts:
    - condition: (closed_sock > 0)
      pos:
        line_end: 715
        line_start: 715
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 743
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 743
    functionName: haproxy_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - system
    - haproxy_cli_new
    - VTAILQ_INSERT_TAIL
    - VSA_Get_Proto
    - VSA_getsockname
    - AN
    - REPLACE
    - strdup
    - getenv
    - VSB_data
    - VTCP_close
    - VTAILQ_INIT
    - vtc_log_set_cmd
    - VTCP_listen_on
    - bprintf
    - vtc_fatal
    - macro_def
    - AZ
    - assert
    - haproxy_mcli_new
    - macro_expand
    - VSB_new_auto
    - vtc_logopen
    - VSB_cat
    - ALLOC_OBJ
    - VTCP_name
    - VSB_destroy
    linkageType: ''
    returnType: struct haproxy
    signature: 'struct haproxy *

      haproxy_new(const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:754,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:755,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:758,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:759,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:759,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:763,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:765,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:766,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:767,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:768,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:769,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:770,1
    - Dst: haproxy_cli_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:771,1
    - Dst: haproxy_cli_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:772,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 776
    functionName: haproxy_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - CHECK_OBJ_NOTNULL
    - bprintf
    - FREE_OBJ
    - AZ
    - system
    - free
    - haproxy_cli_delete
    - vtc_logclose
    - closefd
    linkageType: ''
    returnType: void
    signature: void haproxy_delete(struct haproxy *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:787,1
    - Dst: vtc_record
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 791
    functionName: haproxy_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - vtc_record
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      haproxy_thread(void *priv)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:804,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:806,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:806,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:807,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:810,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:811,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:813,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:815,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:817,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:819,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:823,1
    - Dst: haproxy_bind_sdnotify
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:824,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:826,1
    - Dst: haproxy_create_mcli
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:830,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:831,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:835,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:835,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:837,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:840,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:841,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:842,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:843,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:846,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:846,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:847,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:847,1
    - Dst: haproxy_write_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:857,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:859,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:859,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:860,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:861,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:861,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:862,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:863,1
    - Dst: haproxy_build_env
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:865,1
    - Dst: haproxy_delete_envars
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:866,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:867,1
    - Dst: chdir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:867,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:868,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:868,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:869,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:869,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:870,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:870,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:871,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:872,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:873,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:874,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:875,1
    - Dst: execl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:875,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:875,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:876,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:878,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:880,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:881,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:882,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:884,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:885,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:889,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:889,1
    - Dst: haproxy_wait_pidfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:892,1
    - Dst: haproxy_wait_sdnotify_ready
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:895,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts:
    - condition: (h->pid >= 0)
      pos:
        line_end: 862
        line_start: 862
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    - condition: (dup2(h->fds[3], 1) == 1)
      pos:
        line_end: 868
        line_start: 868
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    - condition: (dup2(1, 2) == 2)
      pos:
        line_end: 869
        line_start: 869
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 896
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 896
    functionName: haproxy_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - haproxy_bind_sdnotify
    - VSB_finish
    - VSB_printf
    - dup2
    - pthread_create
    - fork
    - VSB_destroy
    - AN
    - haproxy_delete_envars
    - haproxy_write_conf
    - strdup
    - exit
    - pipe
    - vtc_log
    - VSB_data
    - execl
    - haproxy_build_env
    - bprintf
    - macro_def
    - AZ
    - assert
    - PTOK
    - VSB_new_auto
    - haproxy_create_mcli
    - chdir
    - haproxy_wait_sdnotify_ready
    - VSB_cat
    - vtc_dump
    - haproxy_wait_pidfile
    - closefd
    linkageType: ''
    returnType: void
    signature: void haproxy_start(struct haproxy *h)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:909,1
    - Dst: haproxy_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:912,1
    - Dst: haproxy_cli_run
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:915,1
    - Dst: haproxy_cli_run
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:918,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:920,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:924,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:926,1
    - Dst: kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:928,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:933,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:934,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:936,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:947,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:947,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:948,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:949,1
    - Dst: vtc_wait4
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:951,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts:
    - condition: (h->pid > 0)
      pos:
        line_end: 925
        line_start: 925
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 955
      start: 903
    functionDepth: 4
    functionLinenumber: 903
    functionLinenumberEnd: 955
    functionName: haproxy_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - haproxy_cli_run
    - strerror
    - assert
    - haproxy_start
    - PTOK
    - AZ
    - vtc_wait4
    - pthread_join
    - kill
    - vtc_log
    - VTIM_sleep
    - closefd
    linkageType: ''
    returnType: void
    signature: void haproxy_wait(struct haproxy *h)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:972,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:974,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:979,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:990,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1002,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1006,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1010,1
    - Dst: VUDP_bind_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1020,1
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1023,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1026,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1028,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1029,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1030,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1032,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1033,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1034,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1035,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1037,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1038,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1039,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1041,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1042,1
    - Dst: haproxy_add_envar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1044,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1047,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - h
    - vsb_data
    argTypes:
    - struct haproxy*
    - char*
    assertStmts:
    - condition: (sock > 0)
      pos:
        line_end: 1027
        line_start: 1027
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 1049
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 1049
    functionName: haproxy_build_backends
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - haproxy_add_envar
    - VTCP_listen_on
    - VUDP_bind_on
    - bprintf
    - vtc_fatal
    - strdup
    - macro_def
    - VSA_Get_Proto
    - strcmp
    - assert
    - getenv
    - vtc_log
    - free
    - memcmp
    - VTCP_name
    - strstr
    linkageType: ''
    returnType: int
    signature: int haproxy_build_backends(struct haproxy *h, const char *vsb_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1055,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1056,1
    - Dst: haproxy_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1058,1
    - Dst: haproxy_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1059,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1060,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1060,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1061,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1061,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1062,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1063,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - h
    - expect
    argTypes:
    - struct haproxy*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1051
    functionDepth: 5
    functionLinenumber: 1051
    functionLinenumberEnd: 1065
    functionName: haproxy_check_conf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - AN
    - VSB_finish
    - vtc_fatal
    - AZ
    - haproxy_start
    - haproxy_wait
    - vtc_log
    - VSB_data
    - VSB_new_auto
    - strstr
    linkageType: ''
    returnType: void
    signature: void haproxy_check_conf(struct haproxy *h, const char *expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1076,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1077,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1079,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1080,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1082,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1084,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1085,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1085,1
    - Dst: cmd_server_gen_haproxy_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1088,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1090,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1090,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1092,1
    - Dst: haproxy_build_backends
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1092,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1092,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1094,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1094,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1095,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1097,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - h
    - cfg
    - auto_be
    argTypes:
    - struct haproxy*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1099
    functionName: haproxy_store_conf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - cmd_server_gen_haproxy_conf
    - AN
    - VSB_finish
    - VSB_printf
    - AZ
    - VSB_cat
    - macro_expand
    - haproxy_build_backends
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void haproxy_store_conf(struct haproxy *h, const char *cfg, int auto_be)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1106,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1106,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1107,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1108,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1108,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1110,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1110,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1110,1
    - Dst: VFIL_writefile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1111,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1112,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1112,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1113,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1115,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct haproxy*
    assertStmts:
    - condition: (VSB_len(vsb) >= 0)
      pos:
        line_end: 1107
        line_start: 1107
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    constantsTouched: []
    func_position:
      end: 1118
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1118
    functionName: haproxy_write_conf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 1
    functionsReached:
    - VFIL_writefile
    - AN
    - vtc_fatal
    - strerror
    - assert
    - VSB_len
    - vtc_dump
    - macro_expand
    - VSB_data
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void haproxy_write_conf(struct haproxy *h)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1195,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1196,1
    - Dst: haproxy_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1200,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1201,1
    - Dst: haproxy_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1202,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1207,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1207,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1210,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1211,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1212,1
    - Dst: haproxy_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1215,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1222,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1223,1
    - Dst: haproxy_store_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1224,1
    - Dst: haproxy_check_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1226,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1230,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1231,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1232,1
    - Dst: haproxy_store_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1233,1
    - Dst: haproxy_check_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1235,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1240,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1244,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1248,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1252,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1256,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1257,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1258,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1259,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1260,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1265,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1266,1
    - Dst: haproxy_cli_run
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1268,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1273,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1274,1
    - Dst: haproxy_cli_run
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1276,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1281,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1282,1
    - Dst: haproxy_store_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1283,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1287,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1288,1
    - Dst: haproxy_store_conf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1289,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1294,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1295,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1299,1
    - Dst: haproxy_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1300,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1303,1
    - Dst: haproxy_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1304,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c:1307,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1186
    functionDepth: 6
    functionLinenumber: 1186
    functionLinenumberEnd: 1309
    functionName: cmd_haproxy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    functionUses: 0
    functionsReached:
    - haproxy_store_conf
    - haproxy_delete
    - AN
    - haproxy_check_conf
    - REPLACE
    - haproxy_new
    - haproxy_wait
    - VTAILQ_REMOVE
    - vtc_log
    - VTAILQ_FOREACH
    - VTC_CHECK_NAME
    - strtoul
    - vtc_fatal
    - AZ
    - strcmp
    - VTAILQ_FOREACH_SAFE
    - haproxy_cli_run
    - haproxy_start
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void cmd_haproxy(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: teken_subr_cons25_set_border
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached:
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_cons25_set_border(const teken_t *t, unsigned int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - t
    - ncmds
    - cmds
    argTypes:
    - teken_t*
    - unsigned int
    - unsigned int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: teken_subr_cons25_set_global_cursor_shape
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached:
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: "void teken_subr_cons25_set_global_cursor_shape(const teken_t *t, unsigned
      int ncmds,\n    const unsigned int cmds[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - type
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: teken_subr_cons25_set_local_cursor_type
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached:
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_cons25_set_local_cursor_type(const teken_t *t, unsigned
      int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: teken_subr_cons25_set_default_background
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_cons25_set_default_background(teken_t *t, unsigned
      int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - c
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: teken_subr_cons25_set_default_foreground
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_cons25_set_default_foreground(teken_t *t, unsigned
      int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teken_256to8
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:90,1
    - Dst: teken_256to8
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - t
    - fg
    - bg
    argTypes:
    - teken_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: teken_get_defattr_cons25
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 1
    functionsReached:
    - teken_256to8
    linkageType: ''
    returnType: void
    signature: void teken_get_defattr_cons25(const teken_t *t, int *fg, int *bg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t
    - vt
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: teken_subr_cons25_switch_virtual_terminal
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached:
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: void teken_subr_cons25_switch_virtual_terminal(const teken_t *t, unsigned
      int vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_param
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - pitch
    - duration
    argTypes:
    - teken_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: teken_subr_cons25_set_bell_pitch_duration
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached:
    - teken_funcs_param
    linkageType: ''
    returnType: void
    signature: "void teken_subr_cons25_set_bell_pitch_duration(const teken_t *t, unsigned
      int pitch,\n    unsigned int duration)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teken_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - t
    - cmd
    - param
    argTypes:
    - teken_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 125
    functionName: teken_subr_cons25_set_graphic_rendition
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached:
    - teken_printf
    linkageType: ''
    returnType: void
    signature: "void teken_subr_cons25_set_graphic_rendition(teken_t *t, unsigned
      int cmd,\n    unsigned int param)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - t
    - mode
    argTypes:
    - teken_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: teken_subr_cons25_set_terminal_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void teken_subr_cons25_set_terminal_mode(teken_t *t, unsigned int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teken_funcs_respond
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - teken_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: teken_subr_vt52_decid
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
    functionUses: 0
    functionsReached:
    - teken_funcs_respond
    linkageType: ''
    returnType: void
    signature: void teken_subr_vt52_decid(teken_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:164,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:164,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:166,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tunnel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: tunnel_is_open
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - PTOK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: unsigned
    signature: unsigned tunnel_is_open(struct tunnel *t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:184,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:185,1
    - Dst: tunnel_is_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:187,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:188,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:190,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:190,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:192,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:192,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:193,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:195,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:197,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:197,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:198,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:198,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:199,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (t->state == TUNNEL_RUNNING)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: cmd_tunnel_pause
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - AZ
    - CAST_OBJ_NOTNULL
    - PTOK
    - pthread_mutex_lock
    - assert
    - pthread_cond_wait
    - pthread_mutex_unlock
    - pthread_cond_signal
    - tunnel_is_open
    linkageType: ''
    returnType: void
    signature: void cmd_tunnel_pause(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:218,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:219,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:220,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:222,1
    - Dst: tunnel_is_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:224,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:225,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:227,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:227,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:229,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:229,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:230,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:232,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:233,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:234,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:235,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:239,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:239,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:240,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:240,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:241,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (t->state == TUNNEL_PAUSED)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 242
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 242
    functionName: cmd_tunnel_send
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_fatal
    - AZ
    - CAST_OBJ_NOTNULL
    - PTOK
    - pthread_mutex_lock
    - assert
    - strcmp
    - pthread_cond_wait
    - atoi
    - pthread_mutex_unlock
    - pthread_cond_signal
    - tunnel_is_open
    linkageType: ''
    returnType: void
    signature: void cmd_tunnel_send(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_tunnel_send
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: cmd_tunnel_recv
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - cmd_tunnel_send
    linkageType: ''
    returnType: void
    signature: void cmd_tunnel_recv(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:275,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:276,1
    - Dst: tunnel_is_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:278,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:279,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:281,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:281,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:283,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:283,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:284,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:286,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:288,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:288,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:289,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (t->state == TUNNEL_PAUSED)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 290
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 290
    functionName: cmd_tunnel_resume
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - AZ
    - CAST_OBJ_NOTNULL
    - PTOK
    - pthread_mutex_lock
    - assert
    - pthread_mutex_unlock
    - pthread_cond_signal
    - tunnel_is_open
    linkageType: ''
    returnType: void
    signature: void cmd_tunnel_resume(CMD_ARGS)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:314,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:318,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:318,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:319,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:322,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:322,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:330,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:332,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:332,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:334,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:334,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:336,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - t
    - vl
    - pfd
    - lane
    argTypes:
    - struct tunnel*
    - struct vtclog*
    - struct pollfd*
    - struct tunnel_lane*
    assertStmts:
    - condition: (pfd->fd == *lane->rfd)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 337
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 337
    functionName: tunnel_read
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - AZ
    - assert
    - PTOK
    - pthread_mutex_lock
    - strerror
    - pthread_mutex_unlock
    - read
    linkageType: ''
    returnType: void
    signature: "void tunnel_read(struct tunnel *t, struct vtclog *vl, const struct
      pollfd *pfd,\n    struct tunnel_lane *lane)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:350,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:352,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:354,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:354,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:359,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:359,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:361,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:362,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:366,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - t
    - vl
    - lane
    - action
    argTypes:
    - struct tunnel*
    - struct vtclog*
    - struct tunnel_lane*
    - char*
    assertStmts:
    - condition: (lane->buf_len >= 0)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    - condition: (lane->wrk_len >= (size_t)lane->buf_len)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 367
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 367
    functionName: tunnel_write
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strerror
    - pthread_mutex_lock
    - PTOK
    - write
    - assert
    - vtc_log
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void tunnel_write(struct tunnel *t, struct vtclog *vl, struct tunnel_lane
      *lane,\n    const char *action)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:378,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:380,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:381,1
    - Dst: tunnel_is_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:383,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:384,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:384,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:387,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:387,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:389,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:389,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:394,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:396,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:401,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:403,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:403,1
    - Dst: tunnel_read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:405,1
    - Dst: tunnel_read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:406,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:408,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:408,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:411,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:412,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:413,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:413,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:414,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:414,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:416,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:416,1
    - Dst: tunnel_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:421,1
    - Dst: tunnel_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:422,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:425,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:425,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:427,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:427,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:428,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:428,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:430,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:430,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:432,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:433,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (state < TUNNEL_POLL_DONE)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 436
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 436
    functionName: tunnel_poll_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - poll
    - tunnel_is_open
    - memset
    - CAST_OBJ_NOTNULL
    - pthread_cond_wait
    - pthread_cleanup_push
    - tunnel_read
    - vtc_fatal
    - tunnel_write
    - AZ
    - assert
    - PTOK
    - pthread_cleanup_pop
    - vtc_logopen
    - strerror
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_cond_signal
    - vtc_logclose
    linkageType: ''
    returnType: void
    signature: 'void *

      tunnel_poll_thread(void *priv)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:449,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:450,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:451,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:452,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:453,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:455,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:456,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:458,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:458,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:459,1
    - Dst: macro_expand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:461,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:462,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:463,1
    - Dst: VTCP_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:465,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:467,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:468,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:469,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:471,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:472,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:474,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:474,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:486,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:486,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:487,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - t
    - vl
    argTypes:
    - struct tunnel*
    - struct vtclog*
    assertStmts:
    - condition: (t->state == TUNNEL_ACCEPT)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    - condition: (t->asock < 0)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    - condition: (t->lsock >= 0)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    - condition: (t->csock < 0)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 488
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 488
    functionName: tunnel_accept
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_data
    - vtc_fatal
    - strerror
    - assert
    - PTOK
    - pthread_mutex_lock
    - VTCP_open
    - VTCP_blocking
    - macro_expand
    - vtc_log
    - accept
    - pthread_mutex_unlock
    - pthread_cond_signal
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void tunnel_accept(struct tunnel *t, struct vtclog *vl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:497,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:498,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:500,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:501,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:502,1
    - Dst: tunnel_accept
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:504,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:505,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:507,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:507,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:509,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:509,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:512,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:514,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:514,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:516,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:516,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:517,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:517,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:519,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:520,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 523
    functionName: tunnel_spec_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_log_set_cmd
    - vtc_logopen
    - tunnel_accept
    - CAST_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - pthread_cleanup_pop
    - pthread_mutex_unlock
    - pthread_cleanup_push
    - parse_string
    - pthread_cond_signal
    - vtc_logclose
    - vtc_log
    linkageType: ''
    returnType: void
    signature: 'void *

      tunnel_spec_thread(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:534,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:535,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:536,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:537,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:538,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:541,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:542,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:550,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:550,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:551,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:551,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:552,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:552,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:553,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:554,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 556
    functionName: tunnel_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - AN
    - bprintf
    - vtc_logopen
    - REPLACE
    - pthread_mutex_lock
    - PTOK
    - VTAILQ_INSERT_TAIL
    - pthread_cond_init
    - pthread_mutex_unlock
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct tunnel
    signature: 'struct tunnel *

      tunnel_new(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:562,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:563,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:564,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:566,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:567,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:568,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:569,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:570,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:571,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:572,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:573,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tunnel*
    assertStmts:
    - condition: (t->asock < 0)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    - condition: (t->csock < 0)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 575
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 575
    functionName: tunnel_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - pthread_cond_destroy
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - assert
    - macro_undef
    - vtc_logclose
    - free
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void tunnel_delete(struct tunnel *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:589,1
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:590,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:592,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:595,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:596,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:597,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:598,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:601,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:602,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:604,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:606,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:607,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tunnel*
    assertStmts:
    - condition: (t->lsock > 0)
      pos:
        line_end: 594
        line_start: 594
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 609
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 609
    functionName: tunnel_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - VTCP_listen_on
    - bprintf
    - vtc_fatal
    - macro_def
    - assert
    - VTCP_name
    - VSA_Get_Proto
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void tunnel_listen(struct tunnel *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:619,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:620,1
    - Dst: tunnel_listen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:621,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:622,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:623,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:629,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:629,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:630,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tunnel*
    assertStmts:
    - condition: (t->state == TUNNEL_STOPPED)
      pos:
        line_end: 622
        line_start: 622
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 631
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 631
    functionName: tunnel_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - assert
    - PTOK
    - pthread_create
    - vtc_log
    - tunnel_listen
    linkageType: ''
    returnType: void
    signature: void tunnel_start(struct tunnel *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:637,1
    - Dst: tunnel_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tunnel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 4
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: tunnel_start_pause
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - tunnel_start
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void tunnel_start_pause(struct tunnel *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:651,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:652,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:654,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:654,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:656,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:656,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:658,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:660,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:660,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:662,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:665,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:667,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tunnel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 671
    functionName: tunnel_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - PTOK
    - pthread_join
    - vtc_log
    - pthread_cond_signal
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void tunnel_wait(struct tunnel *t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:683,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:683,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:684,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:685,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:687,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:688,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:688,1
    - Dst: tunnel_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:693,1
    - Dst: tunnel_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 696
    functionName: tunnel_reset
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - tunnel_wait
    - pthread_mutex_lock
    - PTOK
    - tunnel_delete
    - VTAILQ_REMOVE
    - CHECK_OBJ_ORNULL
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void tunnel_reset(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tunnel_reset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:711,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:715,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:715,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:718,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:720,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:720,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:721,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:722,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:724,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:724,1
    - Dst: tunnel_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:726,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:727,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:733,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:735,1
    - Dst: tunnel_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:736,1
    - Dst: tunnel_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:742,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:744,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:745,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:746,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:750,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:751,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:755,1
    - Dst: tunnel_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:756,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:759,1
    - Dst: tunnel_start_pause
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:760,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:764,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (t->state == TUNNEL_STOPPED)
      pos:
        line_end: 743
        line_start: 743
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    constantsTouched: []
    func_position:
      end: 767
      start: 702
    functionDepth: 5
    functionLinenumber: 702
    functionLinenumberEnd: 767
    functionName: cmd_tunnel
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 0
    functionsReached:
    - tunnel_reset
    - VTC_CHECK_NAME
    - tunnel_start
    - CHECK_OBJ_NOTNULL
    - bprintf
    - tunnel_start_pause
    - vtc_fatal
    - tunnel_new
    - strcmp
    - AZ
    - PTOK
    - pthread_mutex_lock
    - assert
    - pthread_mutex_unlock
    - tunnel_wait
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void cmd_tunnel(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:773,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 774
    functionName: init_tunnel
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    functionUses: 1
    functionsReached:
    - PTOK
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_tunnel(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vl
    - ','
    - nm
    - ','
    - type
    - ','
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: VTC_CHECK_NAME
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTC_CHECK_NAME(vl, nm, type, chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: STAT_HDRS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAT_HDRS(i, k, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:86,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:87,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - struct hpk_ctx*
    - void*
    - int
    assertStmts:
    - condition: (size)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    - condition: (ctx)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    - condition: (iter)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    - condition: (buf)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: HPK_NewIter
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 2
    functionsReached:
    - assert
    - malloc
    linkageType: ''
    returnType: struct hpk_iter
    signature: 'struct hpk_iter *

      HPK_NewIter(struct hpk_ctx *ctx, void *buf, int size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct hpk_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: HPK_FreeIter
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void HPK_FreeIter(struct hpk_iter *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:106,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:106,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:107,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:108,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:110,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:111,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hpk_ctx*
    assertStmts:
    - condition: (!VTAILQ_EMPTY(&ctx->dyntbl))
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: pop_header
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_EMPTY
    - VTAILQ_LAST
    - assert
    - VTAILQ_REMOVE
    - free
    linkageType: ''
    returnType: void
    signature: void pop_header(struct hpk_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:122,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:123,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:131,1
    - Dst: HPK_GetHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:132,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:133,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:137,1
    - Dst: pop_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:138,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:140,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:141,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:146,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:147,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:148,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:151,1
    - Dst: HPK_GetHdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:153,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:156,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:157,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:158,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:164,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:165,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - ctx
    - oh
    argTypes:
    - struct hpk_ctx*
    - struct hpk_hdr*
    assertStmts:
    - condition: (ctx->size <= ctx->maxsize)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    constantsTouched: []
    func_position:
      end: 171
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 171
    functionName: push_header
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 0
    functionsReached:
    - pop_header
    - AN
    - VTAILQ_INSERT_HEAD
    - malloc
    - memcpy
    - HPK_GetHdr
    - VTAILQ_EMPTY
    - assert
    linkageType: ''
    returnType: void
    signature: void push_header (struct hpk_ctx *ctx, const struct hpk_hdr *oh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:177,1
    - Dst: pop_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - num
    argTypes:
    - struct hpk_ctx*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: HPK_ResizeTbl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 3
    functionsReached:
    - VTAILQ_EMPTY
    - pop_header
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result HPK_ResizeTbl(struct hpk_ctx *ctx, uint32_t num)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:186,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - ctx
    - idx
    - key
    argTypes:
    - struct hpk_ctx*
    - uint32_t
    - int
    assertStmts:
    - condition: (ctx)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    constantsTouched: []
    func_position:
      end: 207
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 207
    functionName: tbl_get_field
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 0
    functionsReached:
    - assert
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: struct hpk_txt
    signature: 'struct hpk_txt *

      tbl_get_field(const struct hpk_ctx *ctx, uint32_t idx, int key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tbl_get_field
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - struct hpk_ctx*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: tbl_get_key
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 0
    functionsReached:
    - tbl_get_field
    linkageType: ''
    returnType: struct hpk_txt
    signature: 'struct hpk_txt *

      tbl_get_key(const struct hpk_ctx *ctx, uint32_t idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tbl_get_field
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - struct hpk_ctx*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: tbl_get_value
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 0
    functionsReached:
    - tbl_get_field
    linkageType: ''
    returnType: struct hpk_txt
    signature: 'struct hpk_txt *

      tbl_get_value(const struct hpk_ctx *ctx, uint32_t idx)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:226,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - idx
    argTypes:
    - struct hpk_ctx*
    - uint32_t
    assertStmts:
    - condition: (ctx)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    constantsTouched: []
    func_position:
      end: 241
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 241
    functionName: HPK_GetHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 2
    functionsReached:
    - assert
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: struct hpk_hdr
    signature: 'struct hpk_hdr *

      HPK_GetHdr(const struct hpk_ctx *ctx, uint32_t idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hpk_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: HPK_GetTblSize
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HPK_GetTblSize(const struct hpk_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hpk_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: HPK_GetTblMaxSize
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HPK_GetTblMaxSize(const struct hpk_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hpk_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: HPK_GetTblLength
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t HPK_GetTblLength(const struct hpk_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:271,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:272,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:273,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hpk_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: dump_dyn_tbl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 0
    functionsReached:
    - printf
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void dump_dyn_tbl(const struct hpk_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:283,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - maxsize
    argTypes:
    - uint32_t
    assertStmts:
    - condition: (ctx)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: HPK_NewCtx
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 1
    functionsReached:
    - assert
    - calloc
    linkageType: ''
    returnType: struct hpk_ctx
    signature: 'struct hpk_ctx *

      HPK_NewCtx(uint32_t maxsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:295,1
    - Dst: pop_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:296,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct hpk_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: HPK_FreeCtx
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    functionUses: 1
    functionsReached:
    - VTAILQ_EMPTY
    - pop_header
    - free
    linkageType: ''
    returnType: void
    signature: void HPK_FreeCtx(struct hpk_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:49,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:52,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vl
    - vz
    argTypes:
    - struct vtclog*
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: vtc_report_gz_bits
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    functionUses: 0
    functionsReached:
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void vtc_report_gz_bits(struct vtclog *vl, const z_stream *vz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sz
    argTypes:
    - ssize_t
    assertStmts:
    - condition: (sz >= 0)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: APOS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t APOS(ssize_t sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:80,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:82,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:84,1
    - Dst: APOS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:85,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:87,1
    - Dst: inflateInit2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:87,1
    - Dst: inflate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:92,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:94,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:97,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:100,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:101,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:101,1
    - Dst: vtc_report_gz_bits
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:103,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:105,1
    - Dst: inflateEnd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - vl
    - fatal
    - vin
    argTypes:
    - struct vtclog*
    - int
    - struct vsb*
    assertStmts:
    - condition: (Z_OK == inflateInit2(&vz, 31))
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    - condition: (Z_OK == inflateEnd(&vz))
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: vtc_gunzip_vsb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - inflate
    - VSB_finish
    - vtc_report_gz_bits
    - memset
    - AZ
    - VSB_len
    - APOS
    - assert
    - VSB_bcat
    - vtc_log
    - VSB_data
    - inflateInit2
    - VSB_new_auto
    - inflateEnd
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      vtc_gunzip_vsb(struct vtclog *vl, int fatal, const struct vsb *vin)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:114,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:116,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:119,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:120,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:121,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:122,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:122,1
    - Dst: vtc_gunzip_vsb
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:123,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:124,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:126,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:126,1
    - Dst: APOS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:126,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:126,1
    - Dst: APOS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:127,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:127,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:128,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:129,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:130,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - hp
    - body
    - bodylen
    argTypes:
    - struct http*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: vtc_gunzip
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    functionUses: 1
    functionsReached:
    - AN
    - memcpy
    - VSB_finish
    - vtc_gunzip_vsb
    - bprintf
    - AZ
    - VSB_len
    - APOS
    - vtc_dump
    - VSB_bcat
    - vtc_log
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vtc_gunzip(struct http *hp, char *body, long *bodylen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:144,1
    - Dst: APOS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:145,1
    - Dst: deflate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:149,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:151,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - vz
    - vout
    - in
    - inlen
    - flush
    argTypes:
    - z_stream*
    - struct vsb*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: vtc_gzip_chunk
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    functionUses: 0
    functionsReached:
    - AZ
    - APOS
    - TRUST_ME
    - deflate
    - VSB_bcat
    linkageType: ''
    returnType: int
    signature: int vtc_gzip_chunk(z_stream *vz, struct vsb *vout, const char *in,
      size_t inlen, int flush)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:166,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:169,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:170,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:171,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:173,1
    - Dst: deflateInit2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:173,1
    - Dst: vtc_gzip_chunk
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:178,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:180,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:183,1
    - Dst: vtc_gzip_chunk
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:189,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:191,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:194,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:196,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:196,1
    - Dst: vtc_report_gz_bits
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:199,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:203,1
    - Dst: deflateEnd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:203,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:207,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:211,1
    - Dst: APOS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:211,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:211,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:212,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:213,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:213,1
    - Dst: APOS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:213,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:213,1
    - Dst: APOS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:214,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:214,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:215,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:216,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:217,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - hp
    - input
    - body
    - bodylen
    - fragment
    argTypes:
    - struct http*
    - char*
    - char**
    - long*
    - int
    assertStmts:
    - condition: "(Z_OK == deflateInit2(&vz,\n\t    hp->gziplevel, Z_DEFLATED, 31,
        9, Z_DEFAULT_STRATEGY))"
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    - condition: (Z_OK == deflateEnd(&vz))
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    constantsTouched: []
    func_position:
      end: 219
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 219
    functionName: vtc_gzip
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - deflateEnd
    - strlen
    - AN
    - malloc
    - memcpy
    - memset
    - APOS
    - vtc_log
    - VSB_data
    - bprintf
    - deflateInit2
    - AZ
    - assert
    - VSB_len
    - VSB_new_auto
    - vtc_gzip_chunk
    - vtc_dump
    - vtc_report_gz_bits
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vtc_gzip(struct http *hp, const char *input, char **body, long
      *bodylen, int fragment)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:226,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:227,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:228,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:229,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:231,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:232,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:235,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:236,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:239,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:241,1
    - Dst: vtc_gzip
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:244,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:247,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:249,1
    - Dst: synth_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:251,1
    - Dst: vtc_gzip
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:252,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:253,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c:254,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - hp
    - av
    - body
    - bodylen
    argTypes:
    - struct http*
    - char**
    - char**
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 258
    functionName: vtc_gzip_cmd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
    functionUses: 1
    functionsReached:
    - AN
    - vtc_gzip
    - strtoul
    - synth_body
    - strcmp
    - free
    linkageType: ''
    returnType: int
    signature: int vtc_gzip_cmd(struct http *hp, char * const *av, char **body, long
      *bodylen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: CMD_SYSLOG
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_SYSLOG(nm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:107,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vl
    - lvl
    argTypes:
    - struct vtclog*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: get_syslog_level
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_syslog_level(struct vtclog *vl, const char *lvl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:121,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:122,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:123,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:124,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:125,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:126,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:127,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:129,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:135,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:136,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:139,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:140,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:142,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:142,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:143,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:144,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - name
    - vl
    argTypes:
    - char*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 146
    functionName: syslog_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - VTC_CHECK_NAME
    - AN
    - vtc_log_set_cmd
    - malloc
    - bprintf
    - vtc_logopen
    - REPLACE
    - pthread_mutex_lock
    - PTOK
    - VTAILQ_INSERT_TAIL
    - pthread_mutex_unlock
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct syslog_srv
    signature: 'struct syslog_srv *

      syslog_new(const char *name, struct vtclog *vl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:156,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:157,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:158,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:159,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:160,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:161,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:162,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct syslog_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: syslog_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - macro_undef
    - vtc_logclose
    - free
    linkageType: ''
    returnType: void
    signature: void syslog_delete(struct syslog_srv *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_set_read_timeout
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:177,1
    - Dst: recv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:179,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:184,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:186,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:189,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:194,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:198,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:199,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:201,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:203,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - s
    - lvl
    argTypes:
    - struct syslog_srv*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 210
    functionName: syslog_rx
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - VTCP_set_read_timeout
    - strtoul
    - vtc_fatal
    - strerror
    - vtc_dump
    - strchr
    - recv
    linkageType: ''
    returnType: void
    signature: void syslog_rx(const struct syslog_srv *s, int lvl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:225,1
    - Dst: VUDP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:228,1
    - Dst: VUDP_bind_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:229,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:231,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:234,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:235,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:236,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:237,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:238,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:239,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:240,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:241,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:243,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct syslog_srv*
    assertStmts:
    - condition: (s->sock > 0)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    constantsTouched: []
    func_position:
      end: 246
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 246
    functionName: syslog_bind
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - VUDP_close
    - CHECK_OBJ_NOTNULL
    - VUDP_bind_on
    - bprintf
    - vtc_fatal
    - VSA_Get_Proto
    - assert
    - VTCP_name
    - macro_def
    linkageType: ''
    returnType: void
    signature: void syslog_bind(struct syslog_srv *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:258,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:259,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:259,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:264,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:265,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:268,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:268,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:268,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:270,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:272,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:272,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:273,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:273,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:274,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:274,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:275,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:276,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:280,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:282,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:286,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!strcmp(cmp, "~") || !strcmp(cmp, "!~"))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    constantsTouched: []
    func_position:
      end: 289
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 289
    functionName: cmd_syslog_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - VSB_finish
    - vtc_fatal
    - VRE_free
    - AZ
    - assert
    - strcmp
    - CAST_OBJ_NOTNULL
    - VRE_match
    - vtc_log
    - VRE_error
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: void cmd_syslog_expect(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:297,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:299,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:299,1
    - Dst: get_syslog_level
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:304,1
    - Dst: syslog_rx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 307
    functionName: cmd_syslog_recv
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - get_syslog_level
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - syslog_rx
    linkageType: ''
    returnType: void
    signature: void cmd_syslog_recv(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:319,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:320,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:322,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:325,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:326,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:327,1
    - Dst: VUDP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:329,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (s->sock >= 0)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: syslog_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - VUDP_close
    - CAST_OBJ_NOTNULL
    - assert
    - vtc_log
    - parse_string
    linkageType: ''
    returnType: void
    signature: 'void *

      syslog_thread(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:341,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:342,1
    - Dst: syslog_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:344,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:345,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:347,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct syslog_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: syslog_start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - syslog_bind
    - PTOK
    - pthread_create
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void syslog_start(struct syslog_srv *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:359,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:360,1
    - Dst: pthread_cancel
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:361,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:362,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct syslog_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: syslog_stop
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - pthread_cancel
    - CHECK_OBJ_NOTNULL
    - PTOK
    - pthread_join
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void syslog_stop(struct syslog_srv *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:376,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:377,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:378,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:378,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct syslog_srv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 384
    functionName: syslog_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - PTOK
    - pthread_join
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void syslog_wait(struct syslog_srv *s)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:433,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:433,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:434,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:435,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:437,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:438,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:438,1
    - Dst: pthread_cancel
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:441,1
    - Dst: syslog_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:442,1
    - Dst: VUDP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:445,1
    - Dst: syslog_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:446,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:452,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:452,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:455,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:455,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:456,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:457,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:459,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:459,1
    - Dst: syslog_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:461,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:462,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:468,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:470,1
    - Dst: syslog_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:471,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:475,1
    - Dst: syslog_stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:476,1
    - Dst: syslog_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:486,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:488,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:489,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:490,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:491,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:495,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:496,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:497,1
    - Dst: syslog_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:499,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:502,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:503,1
    - Dst: get_syslog_level
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:504,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:508,1
    - Dst: syslog_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:509,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:513,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 516
    functionName: cmd_syslog
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - syslog_stop
    - syslog_new
    - AN
    - syslog_delete
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH
    - VUDP_close
    - pthread_cancel
    - syslog_wait
    - CHECK_OBJ_NOTNULL
    - bprintf
    - vtc_fatal
    - get_syslog_level
    - AZ
    - strcmp
    - PTOK
    - atoi
    - CHECK_OBJ_ORNULL
    - syslog_bind
    - syslog_start
    - pthread_mutex_lock
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void cmd_syslog(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:521,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: init_syslog
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    functionUses: 1
    functionsReached:
    - PTOK
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_syslog(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:80,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:81,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:82,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:82,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:83,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:85,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:87,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:87,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:88,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:88,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - name
    - vl
    argTypes:
    - char*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: barrier_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - pthread_mutex_init
    - AN
    - vtc_fatal
    - REPLACE
    - PTOK
    - pthread_equal
    - VTAILQ_INSERT_TAIL
    - pthread_cond_init
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct barrier
    signature: 'struct barrier *

      barrier_new(const char *name, struct vtclog *vl)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:105,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:108,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:109,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:110,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - b
    - av
    - vl
    argTypes:
    - struct barrier*
    - char*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: barrier_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - strtoul
    - vtc_fatal
    - AZ
    linkageType: ''
    returnType: void
    signature: void barrier_expect(struct barrier *b, const char *av, struct vtclog
      *vl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:123,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:124,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:124,1
    - Dst: barrier_expect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:125,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:127,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - b
    - av
    - vl
    argTypes:
    - struct barrier*
    - char*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: barrier_cond
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - barrier_expect
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void barrier_cond(struct barrier *b, const char *av, struct vtclog
      *vl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:143,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:144,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:146,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:146,1
    - Dst: vtc_logopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:148,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:149,1
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:151,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:153,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:153,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:154,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:154,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:155,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:156,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:158,1
    - Dst: VTCP_nonblocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:159,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:160,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:161,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:162,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:164,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:165,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:166,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:167,1
    - Dst: macro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:169,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:171,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:171,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:172,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:172,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:174,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:175,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:181,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:187,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:188,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:190,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:192,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:193,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:195,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:200,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:202,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:203,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:205,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:214,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:219,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:221,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:232,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:234,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:238,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:239,1
    - Dst: macro_undef
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:240,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:241,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:242,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:243,1
    - Dst: vtc_logclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:244,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (b->type == BARRIER_SOCK)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    - condition: (sock > 0)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    - condition: (i == 1)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    - condition: (b->waiters <= b->expected)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    constantsTouched: []
    func_position:
      end: 246
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 246
    functionName: barrier_sock_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - VTCP_nonblocking
    - poll
    - accept
    - macro_undef
    - calloc
    - VSA_Get_Proto
    - VSA_getsockname
    - AN
    - CAST_OBJ_NOTNULL
    - vtc_log
    - pthread_cleanup_push
    - VTCP_listen_on
    - closefd
    - vtc_fatal
    - vtc_logclose
    - assert
    - PTOK
    - pthread_cleanup_pop
    - free
    - vtc_logopen
    - strerror
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - pthread_cond_signal
    - VTCP_name
    - macro_def
    linkageType: ''
    returnType: void
    signature: 'void *

      barrier_sock_thread(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:252,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:253,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:253,1
    - Dst: barrier_expect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:254,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:260,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:260,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:261,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:261,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:262,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - b
    - av
    - vl
    argTypes:
    - struct barrier*
    - char*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: barrier_sock
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - pthread_create
    - barrier_expect
    - pthread_cond_wait
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void barrier_sock(struct barrier *b, const char *av, struct vtclog
      *vl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:271,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:273,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:273,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:276,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:276,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:279,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:283,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:286,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:286,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:288,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - b
    - vl
    argTypes:
    - struct barrier*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: barrier_cyclic
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - pthread_mutex_lock
    - PTOK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void barrier_cyclic(struct barrier *b, struct vtclog *vl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:301,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:302,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:304,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:304,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:306,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:314,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:314,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:317,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:321,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:321,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:323,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:327,1
    - Dst: pthread_cond_broadcast
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:327,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:329,1
    - Dst: VTIM_timespec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:332,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:332,1
    - Dst: pthread_cond_timedwait
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:334,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:338,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:338,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - b
    - vl
    argTypes:
    - struct barrier*
    - struct vtclog*
    assertStmts:
    - condition: (r == 0 || r == ETIMEDOUT)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    - condition: (w <= b->expected)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    - condition: (b->type == BARRIER_COND)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    constantsTouched: []
    func_position:
      end: 339
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 339
    functionName: barrier_cond_sync
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - pthread_cond_broadcast
    - VTIM_real
    - vtc_fatal
    - pthread_cond_timedwait
    - assert
    - PTOK
    - pthread_mutex_lock
    - VTIM_timespec
    - vtc_log
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void barrier_cond_sync(struct barrier *b, struct vtclog *vl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:350,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:351,1
    - Dst: macro_expandf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:353,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:354,1
    - Dst: VTCP_open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:356,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:356,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:358,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:361,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:363,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:365,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:368,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:369,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - b
    - vl
    argTypes:
    - struct barrier*
    - struct vtclog*
    assertStmts:
    - condition: (b->type == BARRIER_SOCK)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    constantsTouched: []
    func_position:
      end: 373
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 373
    functionName: barrier_sock_sync
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - closefd
    - vtc_fatal
    - strerror
    - assert
    - VTCP_open
    - macro_expandf
    - vtc_log
    - VSB_data
    - read
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void barrier_sock_sync(const struct barrier *b, struct vtclog *vl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:379,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:383,1
    - Dst: barrier_cond_sync
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:387,1
    - Dst: barrier_sock_sync
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:390,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - b
    - vl
    argTypes:
    - struct barrier*
    - struct vtclog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: barrier_sync
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vtc_fatal
    - barrier_sock_sync
    - barrier_cond_sync
    - WRONG
    linkageType: ''
    returnType: void
    signature: void barrier_sync(struct barrier *b, struct vtclog *vl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:454,1
    - Dst: pthread_mutex_trylock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:455,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:456,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:461,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:461,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:464,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:467,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:467,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:472,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:472,1
    - Dst: VTC_CHECK_NAME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:475,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:476,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:477,1
    - Dst: barrier_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:480,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:484,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:486,1
    - Dst: barrier_cond
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:487,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:490,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:492,1
    - Dst: barrier_sock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:493,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:496,1
    - Dst: barrier_sync
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:497,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:500,1
    - Dst: barrier_cyclic
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:501,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c:504,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (r == 0 || r == EBUSY)
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    constantsTouched: []
    func_position:
      end: 506
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 506
    functionName: cmd_barrier
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    - VTC_CHECK_NAME
    - VTAILQ_FOREACH
    - barrier_new
    - AN
    - barrier_cond
    - vtc_fatal
    - barrier_cyclic
    - barrier_sync
    - AZ
    - assert
    - PTOK
    - strcmp
    - WRONG
    - pthread_join
    - VTAILQ_FOREACH_SAFE
    - pthread_mutex_unlock
    - barrier_sock
    linkageType: ''
    returnType: void
    signature: void cmd_barrier(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - MACRO
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: TDARGS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDARGS(MACRO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: TDVAR
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDVAR(name, dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:146,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:147,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:149,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:150,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:153,1
    - Dst: mmap
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:155,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:157,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:158,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:159,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (bp->buf != MAP_FAILED)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: get_buf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - VSB_new_auto
    - memset
    - assert
    - mmap
    - VTAILQ_REMOVE
    - VSB_clear
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct buf
    signature: 'struct buf *

      get_buf(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:168,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bp
    argTypes:
    - struct buf**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: rel_buf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void rel_buf(struct buf **bp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:185,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: parse_D_opt
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - extmacro_def
    - strchr
    linkageType: ''
    returnType: int
    signature: int parse_D_opt(char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:201,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:203,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:205,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:206,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:207,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:208,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:209,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:210,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:211,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:212,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:213,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:214,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:215,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:216,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:217,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 219
    functionName: v_noreturn_::usage
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      usage(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:233,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:233,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:233,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:235,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:236,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:236,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:236,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:236,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:239,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:240,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts:
    - condition: (write(cleaner_fd, buf, strlen(buf)) == strlen(buf))
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: cleaner_do
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - bprintf
    - AZ
    - assert
    - write
    - system
    - memcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void cleaner_do(const char *dirname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:251,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:251,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:252,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:253,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:254,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:255,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:257,1
    - Dst: nice
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:258,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:259,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:260,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:260,1
    - Dst: fgets
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:261,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:262,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:262,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:262,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:264,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:265,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:269,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:270,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:272,1
    - Dst: execlp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:272,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:274,1
    - Dst: waitpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:274,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:275,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:277,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (q > buf)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (waitpid(pp, &st, 0) == pp)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (p[0] > STDERR_FILENO)
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (q[-1] == '\n')
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (cleaner_pid >= 0)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (p[1] > STDERR_FILENO)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (pp >= 0)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 281
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 281
    functionName: cleaner_setup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - strlen
    - nice
    - setbuf
    - waitpid
    - exit
    - dup2
    - AZ
    - assert
    - pipe
    - fgets
    - memcmp
    - fork
    - execlp
    - closefd
    linkageType: ''
    returnType: void
    signature: void cleaner_setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: cleaner_neuter
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - closefd
    linkageType: ''
    returnType: void
    signature: void cleaner_neuter(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:296,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:297,1
    - Dst: waitpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:297,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (waitpid(cleaner_pid, &st, 0) == cleaner_pid)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: cleaner_finish
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - assert
    - waitpid
    - closefd
    - AZ
    linkageType: ''
    returnType: void
    signature: void cleaner_finish(void)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:318,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:319,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:324,1
    - Dst: kill
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:326,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:330,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:332,1
    - Dst: wait4
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:337,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:338,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:339,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:339,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:341,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:343,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:345,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:345,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:347,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:348,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:349,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:351,1
    - Dst: VSB_quote_pfx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:352,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:353,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:354,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:354,1
    - Dst: rel_buf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:355,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:358,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:358,1
    - Dst: cleaner_do
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:368,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:370,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:371,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:372,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:373,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:373,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:374,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:374,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:376,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:379,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:380,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:381,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:381,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:382,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:382,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:385,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:386,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:388,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:389,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:390,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:392,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:393,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:394,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:396,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:397,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:398,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:400,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:400,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:403,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:408,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:410,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:411,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:411,1
    - Dst: WIFEXITED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:412,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:413,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:413,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:416,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:419,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:425,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:426,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:430,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:431,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:433,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 103
    argCount: 2
    argNames:
    - ve
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts:
    - condition: (px == jp->child)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (what & (VEV__RD | VEV__HUP))
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 437
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 437
    functionName: tst_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - WIFSIGNALED
    - VSB_finish
    - WEXITSTATUS
    - VTIM_mono
    - kill
    - VSB_clear
    - fprintf
    - AN
    - VEV_Stop
    - VSB_putc
    - FREE_OBJ
    - exit
    - CAST_OBJ_NOTNULL
    - WIFEXITED
    - WTERMSIG
    - VSB_bcat
    - VSB_data
    - printf
    - read
    - close
    - CHECK_OBJ_NOTNULL
    - bprintf
    - cleaner_do
    - AZ
    - assert
    - strchr
    - fopen
    - free
    - fclose
    - rel_buf
    - wait4
    - VSB_quote_pfx
    - VSB_cat
    linkageType: ''
    returnType: int
    signature: int tst_cb(const struct vev *ve, int what)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:452,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:453,1
    - Dst: get_buf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:455,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:457,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:457,1
    - Dst: random
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:458,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:459,1
    - Dst: mkdir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:459,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:461,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:463,1
    - Dst: setenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:463,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:465,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:466,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:467,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:469,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:471,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:474,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:476,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:476,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:477,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:478,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:479,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:480,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:481,1
    - Dst: cleaner_neuter
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:483,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:484,1
    - Dst: setpgid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:484,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:484,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:485,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:486,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:486,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:487,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:487,1
    - Dst: exec_file
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:488,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:490,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:492,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:494,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:495,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:500,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:500,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:502,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:503,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:508,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (jp->child >= 0)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (dup2(p[1], STDERR_FILENO) == STDERR_FILENO)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (p[0] > STDERR_FILENO)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (dup2(p[1], STDOUT_FILENO) == STDOUT_FILENO)
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - condition: (p[1] > STDERR_FILENO)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 509
      start: 443
    functionDepth: 6
    functionLinenumber: 443
    functionLinenumberEnd: 509
    functionName: start_test
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - random
    - VTAILQ_FIRST
    - dup2
    - VTIM_mono
    - VTAILQ_INSERT_TAIL
    - exec_file
    - fork
    - AN
    - getpid
    - REPLACE
    - exit
    - pipe
    - VTAILQ_REMOVE
    - VEV_Alloc
    - setpgid
    - mkdir
    - setenv
    - CHECK_OBJ_NOTNULL
    - bprintf
    - get_buf
    - AZ
    - assert
    - VEV_Start
    - VFIL_null_fd
    - cleaner_neuter
    - ALLOC_OBJ
    - closefd
    linkageType: ''
    returnType: void
    signature: void start_test(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:528,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:529,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:530,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:532,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:536,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:540,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:542,1
    - Dst: memchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:546,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:548,1
    - Dst: strndup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:551,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - makefile
    - top_var
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (*top_var == '\n')
      pos:
        line_end: 529
        line_start: 529
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 554
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 554
    functionName: top_dir
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - strndup
    - memchr
    - assert
    - strchr
    - strstr
    linkageType: ''
    returnType: char
    signature: 'char *

      top_dir(const char *makefile, const char *top_var)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:568,1
    - Dst: opendir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:569,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:570,1
    - Dst: readdir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:572,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:575,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:575,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:577,1
    - Dst: stat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:578,1
    - Dst: S_ISDIR
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:578,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:579,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:580,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:581,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:584,1
    - Dst: closedir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - topdir
    - subdir
    - pfx
    - sfx
    - vsb
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 585
    functionName: build_path
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - closedir
    - stat
    - bprintf
    - AZ
    - readdir
    - strncmp
    - S_ISDIR
    - VSB_cat
    - opendir
    - XXXAN
    - strlen
    linkageType: ''
    returnType: void
    signature: "void build_path(const char *topdir, const char *subdir,\n    const
      char *pfx, const char *sfx, struct vsb *vsb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:598,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:599,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:601,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:603,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:604,1
    - Dst: top_dir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:607,1
    - Dst: top_dir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:608,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:609,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:611,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:612,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:613,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:615,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:616,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:621,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:622,1
    - Dst: build_path
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:624,1
    - Dst: build_path
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:628,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:632,1
    - Dst: build_path
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:633,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:635,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:635,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:636,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:636,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:637,1
    - Dst: putenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:637,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:637,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:637,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:643,1
    - Dst: build_path
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:644,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:645,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:645,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:646,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:646,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:647,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:649,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:650,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:651,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:656,1
    - Dst: putenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:656,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 657
    functionName: i_mode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - build_path
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - fprintf
    - AN
    - VSB_putc
    - top_dir
    - exit
    - strdup
    - getenv
    - putenv
    - VSB_data
    - AZ
    - VFIL_readfile
    - VSB_new_auto
    - free
    - extmacro_def
    - VSB_cat
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void i_mode(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:678,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:679,1
    - Dst: VTCP_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:680,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:682,1
    - Dst: VSS_ResolveFirst
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:683,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:684,1
    - Dst: VTCP_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:685,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:687,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:688,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:689,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:690,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:691,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:699,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:703,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:704,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:706,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:709,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:710,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:712,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:713,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:715,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:716,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:717,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:718,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (bad_backend_fd >= 0)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 729
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 729
    functionName: ip_magic
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - AN
    - extmacro_def
    - VSA_free
    - bprintf
    - strdup
    - assert
    - VSS_ResolveOne
    - VTCP_bind
    - VSS_ResolveFirst
    - VTCP_myname
    - VSA_Get_Proto
    - free
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void ip_magic(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:741,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:742,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:743,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:750,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:751,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:752,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - argc
    - argv
    - err
    argTypes:
    - int
    - char**
    - char**
    assertStmts:
    - condition: (argc >= 2)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 755
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 755
    functionName: macro_func_date
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - AN
    - VTIM_format
    - malloc
    - VTIM_real
    - assert
    linkageType: ''
    returnType: void
    signature: void macro_func_date(int argc, char *const *argv, const char **err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Integer
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:772,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:782,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:783,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:784,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:785,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:785,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:787,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:787,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:790,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:790,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - argc
    - argv
    - err
    argTypes:
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 793
    functionName: macro_func_string_repeat
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - malloc
    - VSB_finish
    - AZ
    - VSB_cat
    - SF_Parse_Integer
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      macro_func_string_repeat(int argc, char *const *argv, const char **err)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:799,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:800,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:801,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:808,1
    - Dst: macro_func_string_repeat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - argc
    - argv
    - err
    argTypes:
    - int
    - char**
    - char**
    assertStmts:
    - condition: (argc >= 2)
      pos:
        line_end: 798
        line_start: 798
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    constantsTouched: []
    func_position:
      end: 813
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 813
    functionName: macro_func_string
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - macro_func_string_repeat
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      macro_func_string(int argc, char *const *argv, const char **err)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:825,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:827,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:828,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:832,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:836,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:842,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:843,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:847,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:847,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:848,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:848,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:849,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:852,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:856,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:857,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:862,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - fn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 864
    functionName: read_file
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isspace
    - vct_islws
    - AN
    - strerror
    - strncmp
    - strchr
    - VTAILQ_INSERT_TAIL
    - VFIL_readfile
    - ALLOC_OBJ
    - free
    linkageType: ''
    returnType: int
    signature: int read_file(const char *fn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TDARGS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:886,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:888,1
    - Dst: add_extension
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:889,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:894,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:900,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:906,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:907,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:908,1
    - Dst: read_file
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:910,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:911,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 915
    functionName: automake_test_driver_arguments
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read_file
    - usage
    - strcmp
    - TDARGS
    - add_extension
    linkageType: ''
    returnType: void
    signature: void automake_test_driver_arguments(int argc, char *const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 886
    functionName: TDSAVE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TDSAVE(name, dst)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:927,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:930,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:931,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:933,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:936,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:938,1
    - Dst: parse_D_opt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:946,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:947,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:949,1
    - Dst: add_extension
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:953,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:959,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:971,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:974,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:975,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:982,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:989,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:996,1
    - Dst: read_file
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:999,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1002,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 921
    functionDepth: 3
    functionLinenumber: 921
    functionLinenumberEnd: 1004
    functionName: usual_arguments
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read_file
    - strtoul
    - exit
    - usage
    - parse_D_opt
    - VSB_cat
    - VSB_quote
    - VNUM_2bytes
    - getopt
    - add_extension
    linkageType: ''
    returnType: void
    signature: void usual_arguments(int argc, char *const *argv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1018,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1024,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1025,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1025,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1027,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1030,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1033,1
    - Dst: getcwd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1036,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1037,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1039,1
    - Dst: extmacro_def
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1040,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1044,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1045,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1046,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1048,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1050,1
    - Dst: VRND_SeedAll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1052,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1053,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1054,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1055,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1056,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1059,1
    - Dst: automake_test_driver_arguments
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1062,1
    - Dst: usual_arguments
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1064,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1068,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1068,1
    - Dst: ip_magic
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1070,1
    - Dst: i_mode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1073,1
    - Dst: VEV_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1075,1
    - Dst: cleaner_setup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1078,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1081,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1082,1
    - Dst: start_test
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1083,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1087,1
    - Dst: random
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1087,1
    - Dst: VEV_Once
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1091,1
    - Dst: cleaner_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1093,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1094,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c:1098,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1010
    functionDepth: 7
    functionLinenumber: 1010
    functionLinenumberEnd: 1106
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    functionUses: 0
    functionsReached:
    - random
    - automake_test_driver_arguments
    - VSB_finish
    - strrchr
    - i_mode
    - cleaner_finish
    - fprintf
    - AN
    - cleaner_setup
    - VTAILQ_EMPTY
    - strdup
    - getenv
    - getcwd
    - VEV_Once
    - close
    - AZ
    - VEV_New
    - atoi
    - VRND_SeedAll
    - ip_magic
    - VSB_new_auto
    - usual_arguments
    - extmacro_def
    - setbuf
    - usleep
    - usage
    - start_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pack
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: MASK
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASK(pack, n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MASK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:76,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:89,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:90,1
    - Dst: MASK
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:91,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:93,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:98,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - str
    - nm
    - iter
    - ilen
    argTypes:
    - char*
    - int
    - struct hpk_iter*
    - int
    assertStmts:
    - condition: (tbl == &tbl_0)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (tbl)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (tbl->msk)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (sym->csm <= tbl->msk)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (sym->csm <= 8)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (sym->csm <= pl)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: huff_decode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached:
    - assert
    - MASK
    linkageType: ''
    returnType: int
    signature: int huff_decode(char *str, int nm, struct hpk_iter *iter, int ilen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:121,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - iter
    - str
    - len
    argTypes:
    - struct hpk_iter*
    - char*
    - int
    assertStmts:
    - condition: (iter->buf < iter->end)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (pl < 8)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 153
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 153
    functionName: huff_encode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result huff_encode(struct hpk_iter *iter, const char *str,
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - str
    - ilen
    - huff
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: huff_simulate
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int huff_simulate(const char *str, int ilen, int huff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:173,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:174,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:175,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:181,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - result
    - iter
    - prefix
    argTypes:
    - uint32_t*
    - struct hpk_iter*
    - uint8_t
    assertStmts:
    - condition: (iter->buf < iter->end)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (prefix)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (prefix <= 8)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 197
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 197
    functionName: num_decode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached:
    - assert
    - ITER_DONE
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result num_decode(uint32_t *result, struct hpk_iter *iter,
      uint8_t prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:202,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:203,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:204,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:211,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - iter
    - prefix
    - num
    argTypes:
    - struct hpk_iter*
    - uint8_t
    - uint32_t
    assertStmts:
    - condition: (prefix)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (prefix <= 8)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (iter->buf < iter->end)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 227
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 227
    functionName: num_encode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached:
    - assert
    - ITER_DONE
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result num_encode(struct hpk_iter *iter, uint8_t prefix, uint32_t
      num)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: huff_simulate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:232,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:233,1
    - Dst: num_encode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:239,1
    - Dst: huff_encode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:246,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:248,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - iter
    - t
    argTypes:
    - struct hpk_iter*
    - struct hpk_txt*
    assertStmts:
    - condition: (iter->buf < iter->end)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: str_encode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ITER_DONE
    - assert
    - num_encode
    - huff_simulate
    - huff_encode
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result str_encode(struct hpk_iter *iter, const struct hpk_txt
      *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:260,1
    - Dst: num_decode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:265,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:269,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:270,1
    - Dst: huff_decode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:271,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:273,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:278,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:279,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:282,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:283,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:284,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - iter
    - t
    argTypes:
    - struct hpk_iter*
    - struct hpk_txt*
    assertStmts:
    - condition: (iter->buf < iter->end)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (iter->buf < iter->end)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 292
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 292
    functionName: str_decode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - memcpy
    - num_decode
    - ITER_DONE
    - assert
    - huff_decode
    - realloc
    - free
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result str_decode(struct hpk_iter *iter, struct hpk_txt *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:298,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:299,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - struct hpk_txt*
    - struct hpk_txt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: txtcpy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 0
    functionsReached:
    - AN
    - memcpy
    - malloc
    linkageType: ''
    returnType: void
    signature: void txtcpy(struct hpk_txt *to, const struct hpk_txt *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - struct hpk_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: gethpk_iterLen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gethpk_iterLen(const struct hpk_iter *iter)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:317,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:318,1
    - Dst: num_decode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:322,1
    - Dst: tbl_get_key
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:326,1
    - Dst: txtcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:329,1
    - Dst: tbl_get_value
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:331,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:333,1
    - Dst: txtcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:337,1
    - Dst: num_decode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:366,1
    - Dst: HPK_ResizeTbl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:368,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:373,1
    - Dst: num_decode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:374,1
    - Dst: tbl_get_key
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:379,1
    - Dst: txtcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:382,1
    - Dst: str_decode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:384,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:385,1
    - Dst: str_decode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:390,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:391,1
    - Dst: push_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:396,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:397,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 2
    argNames:
    - iter
    - header
    argTypes:
    - struct hpk_iter*
    - struct hpk_hdr*
    assertStmts:
    - condition: (pref)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (iter)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    - condition: (iter->buf < iter->end)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 398
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 398
    functionName: HPK_DecHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 1
    functionsReached:
    - txtcpy
    - tbl_get_key
    - num_decode
    - ITER_DONE
    - str_decode
    - HPK_ResizeTbl
    - assert
    - push_header
    - free
    - tbl_get_value
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result HPK_DecHdr(struct hpk_iter *iter, struct hpk_hdr *header)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:409,1
    - Dst: num_encode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:409,1
    - Dst: ITER_DONE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:410,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:425,1
    - Dst: num_encode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:428,1
    - Dst: str_encode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:432,1
    - Dst: str_encode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:435,1
    - Dst: push_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c:439,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - iter
    - h
    argTypes:
    - struct hpk_iter*
    - struct hpk_hdr*
    assertStmts:
    - condition: (num_encode(iter, 7, h->i) != hpk_err)
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    constantsTouched: []
    func_position:
      end: 442
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 442
    functionName: HPK_EncHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    functionUses: 1
    functionsReached:
    - ITER_DONE
    - assert
    - num_encode
    - push_header
    - INCOMPL
    - str_encode
    linkageType: ''
    returnType: enum hpk_result
    signature: enum hpk_result HPK_EncHdr(struct hpk_iter *iter, const struct hpk_hdr
      *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hp
    - ','
    - av
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: ONLY_CLIENT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_CLIENT(hp, av)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hp
    - ','
    - av
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: ONLY_SERVER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ONLY_SERVER(hp, av)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:192,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:193,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:194,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:195,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:196,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - len
    - rnd
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (i > 0)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 216
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 216
    functionName: synth_body
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 3
    functionsReached:
    - AN
    - VRND_RandomTestable
    - malloc
    - strtoul
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      synth_body(const char *len, int rnd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:226,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:226,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:227,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:227,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:227,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:228,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:229,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hp
    - lvl
    - pfx
    argTypes:
    - struct http*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: http_write
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 1
    functionsReached:
    - VSB_finish
    - AZ
    - VSB_len
    - strerror
    - vtc_dump
    - VSB_tofile
    - vtc_log
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void http_write(const struct http *hp, int lvl, const char *pfx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:243,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:246,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - hh
    - hdr
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: http_find_header
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - vct_issp
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      http_find_header(char * const *hh, const char *hdr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:264,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - hh
    - hdr
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: http_count_header
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int http_count_header(char * const *hh, const char *hdr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:315,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:317,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:319,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:321,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:323,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:325,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:327,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:329,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:331,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:333,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:335,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:337,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:339,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:341,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:343,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:346,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:349,1
    - Dst: http_find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:356,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - hp
    - spec
    argTypes:
    - struct http*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 358
    functionName: cmd_var_resolve
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 1
    functionsReached:
    - http_find_header
    - strncmp
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      cmd_var_resolve(struct http *hp, char *spec)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:369,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:370,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:370,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:373,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:374,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:375,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:376,1
    - Dst: cmd_var_resolve
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:377,1
    - Dst: cmd_var_resolve
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:379,1
    - Dst: vtc_expect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 382
    functionName: cmd_http_expect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - cmd_var_resolve
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - vtc_expect
    linkageType: ''
    returnType: void
    signature: void cmd_http_expect(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:399,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:400,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:400,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:402,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:405,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 412
    functionName: cmd_http_expect_pattern
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void cmd_http_expect_pattern(CMD_ARGS)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:425,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:427,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:430,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:437,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:442,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:445,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:447,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:447,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:451,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:453,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:453,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:455,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:457,1
    - Dst: vct_skipcrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:460,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:465,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:468,1
    - Dst: vct_skipcrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:471,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:474,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:477,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:478,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:481,1
    - Dst: vct_skipcrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:487,1
    - Dst: vct_skipcrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:490,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:491,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:494,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:495,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 2
    argNames:
    - hp
    - req
    argTypes:
    - struct http*
    - int
    assertStmts:
    - condition: (n == 3)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (*p == '\0')
      pos:
        line_end: 490
        line_start: 490
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (n < MAX_HDR)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 497
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 497
    functionName: http_splitheader
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - bprintf
    - memset
    - vct_iscrlf
    - vct_issp
    - AZ
    - assert
    - vtc_dump
    - vtc_log
    - vct_skipcrlf
    linkageType: ''
    returnType: void
    signature: void http_splitheader(struct http *hp, int req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:514,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:518,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:524,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:526,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:529,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:530,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:531,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:533,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:539,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:541,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:545,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:547,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - hp
    - n
    - eof
    argTypes:
    - struct http*
    - int
    - int
    assertStmts:
    - condition: (i > 0)
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (hp->rx_p + n < hp->rx_e)
      pos:
        line_end: 529
        line_start: 529
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 555
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 555
    functionName: http_rxchar
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - strerror
    - assert
    - poll
    - vtc_log
    - read
    linkageType: ''
    returnType: int
    signature: int http_rxchar(struct http *hp, int n, int eof)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_rxchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:565,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:568,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:569,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:570,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:571,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:572,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:576,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:576,1
    - Dst: http_rxchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:579,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:581,1
    - Dst: http_rxchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:584,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:586,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:587,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts:
    - condition: (*q == '\0' || vct_islws(*q))
      pos:
        line_end: 575
        line_start: 575
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 593
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 593
    functionName: http_rxchunk
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vct_islws
    - strtoul
    - bprintf
    - vct_iscrlf
    - assert
    - http_rxchar
    - vtc_dump
    - vtc_log
    linkageType: ''
    returnType: int
    signature: int http_rxchunk(struct http *hp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:609,1
    - Dst: http_find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:610,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:611,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:613,1
    - Dst: http_rxchunk
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:617,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:624,1
    - Dst: http_rxchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:629,1
    - Dst: http_rxchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:636,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:648,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:651,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - hp
    - hh
    - body
    - max
    argTypes:
    - struct http*
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 601
    functionDepth: 4
    functionLinenumber: 601
    functionLinenumberEnd: 652
    functionName: http_swallow_body
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_rxchunk
    - strcasecmp
    - strtoul
    - bprintf
    - http_rxchar
    - vtc_dump
    - http_find_header
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void http_swallow_body(struct http *hp, char * const *hh, int body,
      int max)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:665,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:669,1
    - Dst: http_rxchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:672,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:687,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:688,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:690,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 693
    functionName: http_rxhdr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - bprintf
    - http_rxchar
    - vtc_dump
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void http_rxhdr(struct http *hp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:709,1
    - Dst: ONLY_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:710,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:711,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:711,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:715,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:718,1
    - Dst: http_rxhdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:720,1
    - Dst: http_splitheader
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:721,1
    - Dst: http_count_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:722,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:723,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:731,1
    - Dst: http_swallow_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:732,1
    - Dst: http_swallow_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:734,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 702
    functionDepth: 5
    functionLinenumber: 702
    functionLinenumberEnd: 736
    functionName: cmd_http_rxresp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_rxhdr
    - http_count_header
    - ONLY_CLIENT
    - vtc_fatal
    - http_splitheader
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - vtc_log
    - http_swallow_body
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxresp(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:750,1
    - Dst: ONLY_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:751,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:752,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:752,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:756,1
    - Dst: http_rxhdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:757,1
    - Dst: http_splitheader
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:758,1
    - Dst: http_count_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:759,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 744
    functionDepth: 4
    functionLinenumber: 744
    functionLinenumberEnd: 762
    functionName: cmd_http_rxresphdrs
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_rxhdr
    - http_count_header
    - ONLY_CLIENT
    - vtc_fatal
    - http_splitheader
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxresphdrs(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:777,1
    - Dst: vtc_gunzip
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 769
    functionDepth: 5
    functionLinenumber: 769
    functionLinenumberEnd: 779
    functionName: cmd_http_gunzip
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vtc_gunzip
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_http_gunzip(CMD_ARGS)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:799,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:801,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:803,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:805,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:806,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:807,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:809,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:811,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:813,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:815,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:817,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:819,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:820,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:821,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:823,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:824,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:830,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:831,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:832,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:834,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:836,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:847,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:848,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:849,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:850,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:851,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:852,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:855,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:856,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:857,1
    - Dst: synth_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:858,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:859,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:861,1
    - Dst: vtc_gzip_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:862,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:867,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:872,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:873,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:874,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:877,1
    - Dst: macro_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:878,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:879,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:882,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:884,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:886,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:887,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:889,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:890,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 102
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (body == nullbody)
      pos:
        line_end: 855
        line_start: 855
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (body == nullbody)
      pos:
        line_end: 830
        line_start: 830
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (body == nullbody)
      pos:
        line_end: 847
        line_start: 847
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (len < INT_MAX)
      pos:
        line_end: 851
        line_start: 851
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 893
      start: 785
    functionDepth: 5
    functionLinenumber: 785
    functionLinenumberEnd: 893
    functionName: http_tx_parse_args
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - strlen
    - AN
    - VSB_putc
    - VSB_printf
    - REPLACE
    - synth_body
    - macro_cat
    - strcmp
    - assert
    - strncmp
    - VSB_cat
    - VSB_bcat
    - atoi
    - VFIL_readfile
    - vtc_gzip_cmd
    - strncasecmp
    - free
    linkageType: ''
    returnType: char
    signature: "char * const *\nhttp_tx_parse_args(char * const *av, struct vtclog
      *vl, struct http *hp,\n    char *body, unsigned nohost, unsigned nodate, unsigned
      noserver, unsigned nouseragent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:995,1
    - Dst: ONLY_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:996,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:997,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:997,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1000,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1003,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1006,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1009,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1013,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1020,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1023,1
    - Dst: http_tx_parse_args
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1025,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1027,1
    - Dst: http_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 984
    functionDepth: 6
    functionLinenumber: 984
    functionLinenumberEnd: 1030
    functionName: cmd_http_txresp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_tx_parse_args
    - VSB_printf
    - REPLACE
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - http_write
    - VSB_clear
    - ONLY_SERVER
    linkageType: ''
    returnType: void
    signature: void cmd_http_txresp(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1038,1
    - Dst: ONLY_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1039,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1040,1
    - Dst: http_find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1042,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1043,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1044,1
    - Dst: http_find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1046,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1047,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1048,1
    - Dst: http_find_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1051,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1053,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1055,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1061,1
    - Dst: b64_settings
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1032
    functionDepth: 4
    functionLinenumber: 1032
    functionLinenumberEnd: 1074
    functionName: cmd_http_upgrade
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_fatal
    - strcmp
    - CAST_OBJ_NOTNULL
    - b64_settings
    - http_find_header
    - parse_string
    - ONLY_SERVER
    linkageType: ''
    returnType: void
    signature: void cmd_http_upgrade(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1090,1
    - Dst: ONLY_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1091,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1092,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1092,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1096,1
    - Dst: http_rxhdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1097,1
    - Dst: http_splitheader
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1098,1
    - Dst: http_count_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1099,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1100,1
    - Dst: http_swallow_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1101,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1085
    functionDepth: 5
    functionLinenumber: 1085
    functionLinenumberEnd: 1103
    functionName: cmd_http_rxreq
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_rxhdr
    - http_count_header
    - vtc_fatal
    - http_splitheader
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - vtc_log
    - http_swallow_body
    - ONLY_SERVER
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxreq(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1117,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1118,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1118,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1122,1
    - Dst: http_rxhdr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1123,1
    - Dst: http_splitheader
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1124,1
    - Dst: http_count_header
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1125,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1111
    functionDepth: 4
    functionLinenumber: 1111
    functionLinenumberEnd: 1127
    functionName: cmd_http_rxreqhdrs
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_rxhdr
    - http_count_header
    - vtc_fatal
    - http_splitheader
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxreqhdrs(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1141,1
    - Dst: ONLY_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1142,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1143,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1143,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1147,1
    - Dst: http_swallow_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1148,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1135
    functionDepth: 5
    functionLinenumber: 1135
    functionLinenumberEnd: 1150
    functionName: cmd_http_rxreqbody
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - vtc_log
    - http_swallow_body
    - ONLY_SERVER
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxreqbody(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1167,1
    - Dst: ONLY_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1168,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1169,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1169,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1173,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1174,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1177,1
    - Dst: http_swallow_body
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1180,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1160
    functionDepth: 5
    functionLinenumber: 1160
    functionLinenumberEnd: 1182
    functionName: cmd_http_rxrespbody
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - ONLY_CLIENT
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - atoi
    - http_swallow_body
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxrespbody(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1197,1
    - Dst: ONLY_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1198,1
    - Dst: http_rxchunk
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1200,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1204,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1190
    functionDepth: 4
    functionLinenumber: 1190
    functionLinenumberEnd: 1207
    functionName: cmd_http_rxchunk
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_rxchunk
    - ONLY_CLIENT
    - bprintf
    - CAST_OBJ_NOTNULL
    - vtc_log
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxchunk(CMD_ARGS)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1225,1
    - Dst: ONLY_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1226,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1227,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1227,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1230,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1234,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1237,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1240,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1241,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1243,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1245,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1248,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1253,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1256,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1260,1
    - Dst: http_tx_parse_args
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1261,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1263,1
    - Dst: http_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1264,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1267,1
    - Dst: b64_settings
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1274,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1275,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1213
    functionDepth: 6
    functionLinenumber: 1213
    functionLinenumberEnd: 1285
    functionName: cmd_http_txreq
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - http_tx_parse_args
    - ONLY_CLIENT
    - VSB_printf
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - http_write
    - b64_settings
    - VSB_clear
    - parse_string
    linkageType: ''
    returnType: void
    signature: void cmd_http_txreq(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1301,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1302,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1303,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1304,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1306,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1308,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1310,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1293
    functionDepth: 3
    functionLinenumber: 1293
    functionLinenumberEnd: 1314
    functionName: cmd_http_recv
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - strtoul
    - AZ
    - CAST_OBJ_NOTNULL
    - strerror
    - vtc_dump
    - vtc_log
    - read
    linkageType: ''
    returnType: void
    signature: void cmd_http_recv(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1329,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1330,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1331,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1332,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1333,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1333,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1334,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1335,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1322
    functionDepth: 3
    functionLinenumber: 1322
    functionLinenumberEnd: 1337
    functionName: cmd_http_send
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - CAST_OBJ_NOTNULL
    - strerror
    - write
    - vtc_dump
    - vtc_log
    - strlen
    linkageType: ''
    returnType: void
    signature: void cmd_http_send(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1352,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1353,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1354,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1355,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1356,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1357,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1358,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1360,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1362,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1345
    functionDepth: 3
    functionLinenumber: 1345
    functionLinenumberEnd: 1366
    functionName: cmd_http_send_n
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - strtoul
    - AZ
    - CAST_OBJ_NOTNULL
    - strerror
    - write
    - vtc_dump
    - vtc_log
    - strlen
    linkageType: ''
    returnType: void
    signature: void cmd_http_send_n(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1381,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1382,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1383,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1384,1
    - Dst: send
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1385,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1385,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1386,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1387,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1374
    functionDepth: 3
    functionLinenumber: 1374
    functionLinenumberEnd: 1389
    functionName: cmd_http_send_urgent
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - CAST_OBJ_NOTNULL
    - strerror
    - vtc_dump
    - send
    - vtc_log
    - strlen
    linkageType: ''
    returnType: void
    signature: void cmd_http_send_urgent(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1406,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1407,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1408,1
    - Dst: vtc_hex_to_bin
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1409,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1410,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1410,1
    - Dst: vtc_hexdump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1411,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1411,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1411,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1412,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1413,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1414,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (VSB_len(vsb) >= 0)
      pos:
        line_end: 1409
        line_start: 1409
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 1416
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1416
    functionName: cmd_http_sendhex
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    - VSB_len
    - vtc_hexdump
    - VSB_tofile
    - strerror
    - vtc_log
    - VSB_data
    - VSB_destroy
    - vtc_hex_to_bin
    linkageType: ''
    returnType: void
    signature: void cmd_http_sendhex(CMD_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1430,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1431,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1432,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1433,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1434,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1435,1
    - Dst: http_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1437
    functionName: cmd_http_chunked
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_printf
    - AZ
    - CAST_OBJ_NOTNULL
    - http_write
    - VSB_clear
    - strlen
    linkageType: ''
    returnType: void
    signature: void cmd_http_chunked(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1455,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1456,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1457,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1458,1
    - Dst: atoi
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1460,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1463,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1468,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1470,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1471,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1473,1
    - Dst: http_write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1476
    functionName: cmd_http_chunkedlen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_printf
    - vmin_t
    - AZ
    - CAST_OBJ_NOTNULL
    - http_write
    - VSB_bcat
    - atoi
    - VSB_clear
    linkageType: ''
    returnType: void
    signature: void cmd_http_chunkedlen(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1492,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1493,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1494,1
    - Dst: VNUM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1495,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1496,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1499
    functionName: cmd_http_timeout
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_fatal
    - VNUM
    - AZ
    - isnan
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_http_timeout(CMD_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1515,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1516,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1518,1
    - Dst: stop_h2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1520,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1525,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1529,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1531,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1534,1
    - Dst: VTCP_Check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1535,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1537,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1539,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1542,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1506
    functionDepth: 4
    functionLinenumber: 1506
    functionLinenumberEnd: 1543
    functionName: cmd_http_expect_close
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vct_islws
    - stop_h2
    - AZ
    - CAST_OBJ_NOTNULL
    - VTCP_Check
    - poll
    - vtc_log
    - read
    linkageType: ''
    returnType: void
    signature: void cmd_http_expect_close(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1557,1
    - Dst: ONLY_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1558,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1559,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1560,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1561,1
    - Dst: stop_h2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1563,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1564,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*hp->sfd >= 0)
      pos:
        line_end: 1560
        line_start: 1560
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (hp->sfd != NULL)
      pos:
        line_end: 1559
        line_start: 1559
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 1566
      start: 1551
    functionDepth: 4
    functionLinenumber: 1551
    functionLinenumberEnd: 1566
    functionName: cmd_http_close
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - stop_h2
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    - vtc_log
    - ONLY_SERVER
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void cmd_http_close(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1580,1
    - Dst: ONLY_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1581,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1582,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1583,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1584,1
    - Dst: stop_h2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1586,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1588,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1589,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1590,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1592,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1592,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (*hp->sfd >= 0)
      pos:
        line_end: 1583
        line_start: 1583
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (hp->sfd != NULL)
      pos:
        line_end: 1582
        line_start: 1582
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 1594
      start: 1574
    functionDepth: 4
    functionLinenumber: 1574
    functionLinenumberEnd: 1594
    functionName: cmd_http_accept
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - stop_h2
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    - strerror
    - vtc_log
    - accept
    - ONLY_SERVER
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void cmd_http_accept(CMD_ARGS)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1624,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1625,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1625,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1629,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1632,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1635,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1644,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1646,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1647,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1650,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1655,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1657,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1660,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1664
    functionName: cmd_http_shutdown
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - strerror
    - vtc_log
    - shutdown
    linkageType: ''
    returnType: void
    signature: void cmd_http_shutdown(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1676,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1679,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1680,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1683,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (!strcmp(av[0], "non_fatal"))
      pos:
        line_end: 1682
        line_start: 1682
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 1686
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1686
    functionName: cmd_http_fatal
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - assert
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_http_fatal(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1708,1
    - Dst: ONLY_CLIENT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1709,1
    - Dst: vtc_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1711,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1713,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1715,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1716,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1717,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1718,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1720,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1721,1
    - Dst: start_h2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1723,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1702
    functionDepth: 3
    functionLinenumber: 1702
    functionLinenumberEnd: 1725
    functionName: cmd_http_txpri
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - ONLY_CLIENT
    - CAST_OBJ_NOTNULL
    - strerror
    - start_h2
    - write
    - vtc_dump
    - vtc_log
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void cmd_http_txpri(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1738,1
    - Dst: ONLY_SERVER
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1739,1
    - Dst: http_rxchar
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1742,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1743,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1744,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1745,1
    - Dst: start_h2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1746,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1733
    functionDepth: 3
    functionLinenumber: 1733
    functionLinenumberEnd: 1748
    functionName: cmd_http_rxpri
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - AN
    - vtc_fatal
    - CAST_OBJ_NOTNULL
    - start_h2
    - http_rxchar
    - memcmp
    - ONLY_SERVER
    linkageType: ''
    returnType: void
    signature: void cmd_http_rxpri(CMD_ARGS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1762,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1765,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1767,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1770,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1771,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1773,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1775,1
    - Dst: HPK_ResizeTbl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1775,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (HPK_ResizeTbl(hp->decctx, n) != hpk_err)
      pos:
        line_end: 1774
        line_start: 1774
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 1780
      start: 1756
    functionDepth: 2
    functionLinenumber: 1756
    functionLinenumberEnd: 1780
    functionName: cmd_http_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - strtoul
    - vtc_fatal
    - HPK_ResizeTbl
    - strcmp
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_http_settings(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1786,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1788,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1790,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1792,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1793,1
    - Dst: cmd_stream
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1782
    functionDepth: 5
    functionLinenumber: 1782
    functionLinenumberEnd: 1804
    functionName: cmd_http_stream
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - vtc_log
    - cmd_stream
    - parse_string
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmd_http_stream(CMD_ARGS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1820,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1821,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1822,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1823,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1824,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1824,1
    - Dst: VFIL_writefile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1825,1
    - Dst: vtc_fatal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1826,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1814
    functionDepth: 2
    functionLinenumber: 1814
    functionLinenumberEnd: 1828
    functionName: cmd_http_write_body
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - VFIL_writefile
    - AN
    - vtc_fatal
    - AZ
    - strcmp
    - CAST_OBJ_NOTNULL
    - strerror
    linkageType: ''
    returnType: void
    signature: void cmd_http_write_body(CMD_ARGS)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1892,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1895,1
    - Dst: stop_h2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1897,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1898,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1899,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1900,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1901,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1902,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1887
    functionDepth: 4
    functionLinenumber: 1887
    functionLinenumberEnd: 1904
    functionName: http_process_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - FREE_OBJ
    - stop_h2
    - CAST_OBJ_NOTNULL
    - free
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void http_process_cleanup(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1915,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1916,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1927,1
    - Dst: getsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1927,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1928,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1928,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1929,1
    - Dst: getsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1929,1
    - Dst: vtc_log
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1931,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1936,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1937,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1942,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1943,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1947,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1948,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1950,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1951,1
    - Dst: vtc_log_set_cmd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1954,1
    - Dst: VTCP_hisname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1959,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1963,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1964,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1965,1
    - Dst: pthread_cleanup_push
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1973,1
    - Dst: parse_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1974,1
    - Dst: pthread_cleanup_pop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1975,1
    - Dst: http_process_cleanup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:1976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 7
    argNames:
    - vl
    - vsp
    - spec
    - sock
    - sfd
    - addr
    - rcvbuf
    argTypes:
    - struct vtclog*
    - struct vtc_sess*
    - char*
    - int*
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1906
    functionDepth: 5
    functionLinenumber: 1906
    functionLinenumberEnd: 1977
    functionName: http_process
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 1
    functionsReached:
    - AN
    - malloc
    - VSB_new_auto
    - vtc_log_set_cmd
    - strdup
    - http_process_cleanup
    - AZ
    - getsockopt
    - VTCP_hisname
    - setsockopt
    - pthread_cleanup_pop
    - vtc_log
    - pthread_cleanup_push
    - parse_string
    - ALLOC_OBJ
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void http_process(struct vtclog *vl, struct vtc_sess *vsp, const char
      *spec,\n    int *sock, int *sfd, const char *addr, int rcvbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2014,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2019,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2019,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2020,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2021,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2022,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2023,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2025,1
    - Dst: deflateInit2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2025,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2027,1
    - Dst: deflate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2027,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2029,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2030,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2031,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2033,1
    - Dst: deflateEnd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2033,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c:2037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(Z_OK == deflateInit2(&vz,\n\t\t\t    9, Z_DEFLATED, 31, 9, Z_DEFAULT_STRATEGY))"
      pos:
        line_end: 2025
        line_start: 2024
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (Z_STREAM_END == deflate(&vz, Z_FINISH))
      pos:
        line_end: 2026
        line_start: 2026
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    - condition: (Z_OK == deflateEnd(&vz))
      pos:
        line_end: 2032
        line_start: 2032
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    constantsTouched: []
    func_position:
      end: 2038
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2038
    functionName: xxx
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
    functionUses: 0
    functionsReached:
    - VRND_RandomTestable
    - memset
    - deflateInit2
    - deflateEnd
    - assert
    - TRUST_ME
    - deflate
    - strchr
    - printf
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void xxx(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:63,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:64,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:65,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:66,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:66,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts:
    - condition: (target >= 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    - condition: (dup2(fd, target) == target)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    - condition: (fd >= 0)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: VFIL_null_fd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 1
    functionsReached:
    - assert
    - dup2
    - closefd
    - open
    linkageType: ''
    returnType: void
    signature: void VFIL_null_fd(int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:77,1
    - Dst: fstat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:77,1
    - Dst: S_ISREG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:78,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:80,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:81,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:82,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fd
    - sz
    argTypes:
    - int
    - ssize_t*
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: vfil_readfd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - malloc
    - AZ
    - assert
    - free
    - read
    - S_ISREG
    - fstat
    linkageType: ''
    returnType: char
    signature: 'char *

      vfil_readfd(int fd, ssize_t *sz)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buf
    - sz
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: vfil_writefd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int vfil_writefd(int fd, const char *buf, size_t sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:118,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:123,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pfx
    - fn
    - flags
    - mode
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: vfil_openfile
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - bprintf
    - open
    linkageType: ''
    returnType: int
    signature: int vfil_openfile(const char *pfx, const char *fn, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vfil_openfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:134,1
    - Dst: vfil_readfd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:137,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pfx
    - fn
    - sz
    argTypes:
    - char*
    - char*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: VFIL_readfile
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 5
    functionsReached:
    - vfil_openfile
    - closefd
    - vfil_readfd
    linkageType: ''
    returnType: char
    signature: 'char *

      VFIL_readfile(const char *pfx, const char *fn, ssize_t *sz)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vfil_openfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:150,1
    - Dst: vfil_writefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:153,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pfx
    - fn
    - buf
    - sz
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: VFIL_writefile
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 3
    functionsReached:
    - vfil_openfile
    - closefd
    - vfil_writefd
    linkageType: ''
    returnType: int
    signature: int VFIL_writefile(const char *pfx, const char *fn, const char *buf,
      size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:165,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:166,1
    - Dst: fcntl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:168,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts:
    - condition: (i != -1)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    - condition: (i != -1)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: VFIL_nonblocking
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - fcntl
    - assert
    linkageType: ''
    returnType: int
    signature: int VFIL_nonblocking(int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstatvfs
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - fd
    - pbs
    - psize
    - pspace
    argTypes:
    - int
    - unsigned*
    - uintmax_t*
    - uintmax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: VFIL_fsinfo
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - fstatvfs
    linkageType: ''
    returnType: int
    signature: int VFIL_fsinfo(int fd, unsigned *pbs, uintmax_t *psize, uintmax_t
      *pspace)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ftruncate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:219,1
    - Dst: fstat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:221,1
    - Dst: VFIL_fsinfo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:223,1
    - Dst: fstatfs
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:242,1
    - Dst: fallocate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:243,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:259,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:260,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:261,1
    - Dst: lseek
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:261,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:272,1
    - Dst: lseek
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:272,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:273,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - fd
    - size
    - insist
    argTypes:
    - int
    - uintmax_t
    - int
    assertStmts:
    - condition: (lseek(fd, 0, SEEK_SET) == 0)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    - condition: (lseek(fd, 0, SEEK_SET) == 0)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    constantsTouched: []
    func_position:
      end: 275
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 275
    functionName: VFIL_allocate
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - AN
    - VFIL_fsinfo
    - fallocate
    - assert
    - write
    - ftruncate
    - fstatfs
    - free
    - calloc
    - lseek
    - fstat
    linkageType: ''
    returnType: int
    signature: int VFIL_allocate(int fd, uintmax_t size, int insist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:302,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:303,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:307,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:308,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:309,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:312,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:313,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:314,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:315,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:316,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:317,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:320,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:323,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:324,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - pp
    - path
    argTypes:
    - struct vfil_path**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: VFIL_setpath
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - VTAILQ_FIRST
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - REPLACE
    - strchr
    - VTAILQ_REMOVE
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void VFIL_setpath(struct vfil_path **pp, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:335,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:336,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - fn
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: vfil_path_openfile
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - VFIL_readfile
    - AN
    linkageType: ''
    returnType: int
    signature: int vfil_path_openfile(void *priv, const char *fn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:354,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:355,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:360,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:364,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:366,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:370,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:371,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:372,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:373,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:374,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:374,1
    - Dst: access
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:375,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:375,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:377,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:377,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:380,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:380,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:381,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:382,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - vp
    - func
    - priv
    - fni
    - fno
    argTypes:
    - struct vfil_path*
    - vfil_path_func_f*
    - void*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 389
    functionName: VFIL_searchpath
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    functionUses: 0
    functionsReached:
    - access
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_data
    - VSB_finish
    - VSB_printf
    - REPLACE
    - strdup
    - AZ
    - func
    - VSB_clear
    - VTAILQ_FOREACH
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: "int VFIL_searchpath(const struct vfil_path *vp, vfil_path_func_f *func,
      void *priv,\n    const char *fni, char **fno)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: VSLIST_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: VSLIST_EMPTY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: VSLIST_FIRST
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: VSLIST_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: VSLIST_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: VSLIST_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: VSLIST_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - varp
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: VSLIST_FOREACH_PREVPTR
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_PREVPTR(var, varp, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: VSLIST_INIT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - slistelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: VSLIST_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_INSERT_AFTER(slistelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: VSLIST_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: VSLIST_NEXT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: VSLIST_REMOVE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_REMOVE(head, elm, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: VSLIST_REMOVE_AFTER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_REMOVE_AFTER(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: VSLIST_REMOVE_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_REMOVE_HEAD(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: VSLIST_SWAP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_SWAP(head1, head2, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: VSTAILQ_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: VSTAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: VSTAILQ_CONCAT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_CONCAT(head1, head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: VSTAILQ_EMPTY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: VSTAILQ_FIRST
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: VSTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: VSTAILQ_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: VSTAILQ_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: VSTAILQ_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: VSTAILQ_INIT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - tqelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: VSTAILQ_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INSERT_AFTER(head, tqelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: VSTAILQ_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: VSTAILQ_INSERT_TAIL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: VSTAILQ_LAST
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_LAST(head, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: VSTAILQ_NEXT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: VSTAILQ_REMOVE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_REMOVE(head, elm, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: VSTAILQ_REMOVE_AFTER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_REMOVE_AFTER(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: VSTAILQ_REMOVE_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_REMOVE_HEAD(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: VSTAILQ_SWAP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_SWAP(head1, head2, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: VLIST_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: VLIST_ENTRY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: VLIST_EMPTY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: VLIST_FIRST
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: VLIST_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: VLIST_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: VLIST_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: VLIST_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: VLIST_INIT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: VLIST_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INSERT_AFTER(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: VLIST_INSERT_BEFORE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: VLIST_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: VLIST_NEXT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elm
    - ','
    - head
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: VLIST_PREV
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_PREV(elm, head, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: VLIST_REMOVE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_REMOVE(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: VLIST_SWAP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_SWAP(head1, head2, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: VTAILQ_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: VTAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: VTAILQ_ENTRY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: VTAILQ_CONCAT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_CONCAT(head1, head2, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: VTAILQ_EMPTY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: VTAILQ_FIRST
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: VTAILQ_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: VTAILQ_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: VTAILQ_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: VTAILQ_FOREACH_REVERSE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: VTAILQ_FOREACH_REVERSE_FROM
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE_FROM(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: VTAILQ_FOREACH_REVERSE_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: VTAILQ_FOREACH_REVERSE_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: VTAILQ_INIT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: VTAILQ_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_AFTER(head, listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: VTAILQ_INSERT_BEFORE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: VTAILQ_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: VTAILQ_INSERT_TAIL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - headname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: VTAILQ_LAST
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_LAST(head, headname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: VTAILQ_NEXT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: VTAILQ_PREV
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_PREV(elm, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: VTAILQ_REMOVE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_REMOVE(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: VTAILQ_SWAP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_SWAP(head1, head2, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:194,1
    - Dst: VSA_BuildFAP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:194,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:195,1
    - Dst: VSA_BuildFAP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: VSA_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached:
    - AN
    - VSA_BuildFAP
    linkageType: ''
    returnType: void
    signature: void VSA_Init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:207,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:210,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:214,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - sua
    - dst
    argTypes:
    - struct suckaddr*
    - unsigned char**
    assertStmts:
    - condition: (sua->u.sa.sa_family == sua->u.sa6.sin6_family)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    - condition: (sua->u.sa.sa_family == sua->u.sa4.sin_family)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: VSA_GetPtr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSA_GetPtr(const struct suckaddr *sua, const unsigned char ** dst)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: sua_len
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t sua_len(const struct sockaddr *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Build
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - sal
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: VSA_Malloc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached:
    - VSA_Build
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VSA_Malloc(const void *s, unsigned  sal)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:277,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:282,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:287,1
    - Dst: VSA_Build
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:289,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:291,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:296,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:301,1
    - Dst: VSA_Build
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:303,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - d
    - fam
    - a
    - al
    - p
    - pl
    argTypes:
    - void*
    - sa_family_t
    - void*
    - unsigned
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 310
    functionName: VSA_BuildFAP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 1
    functionsReached:
    - memset
    - VSA_Build
    - memcpy
    linkageType: ''
    returnType: struct suckaddr
    signature: "struct suckaddr *\nVSA_BuildFAP(void *d, sa_family_t fam, const void
      *a, unsigned al,\n\t    const void *p, unsigned pl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:319,1
    - Dst: sua_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:320,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:325,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:326,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:331,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:334,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:337,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - d
    - s
    - sal
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 346
    functionName: VSA_Build
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 2
    functionsReached:
    - AN
    - INIT_OBJ
    - malloc
    - memcpy
    - sua_len
    - WRONG
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VSA_Build(void *d, const void *s, unsigned sal)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:353,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:354,1
    - Dst: sua_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sua
    - slp
    argTypes:
    - struct suckaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: VSA_Get_Sockaddr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 1
    functionsReached:
    - AN
    - sua_len
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      VSA_Get_Sockaddr(const struct suckaddr *sua, socklen_t *slp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: VSA_Get_Proto
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 9
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSA_Get_Proto(const struct suckaddr *sua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:373,1
    - Dst: sua_len
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: VSA_Sane
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached:
    - sua_len
    - VALID_OBJ
    linkageType: ''
    returnType: int
    signature: int VSA_Sane(const struct suckaddr *sua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:380,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:381,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sua1
    - sua2
    argTypes:
    - struct suckaddr*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: VSA_Compare
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached:
    - memcmp
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSA_Compare(const struct suckaddr *sua1, const struct suckaddr
      *sua2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:389,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:389,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:390,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:390,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:397,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:400,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:403,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:405,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sua1
    - sua2
    argTypes:
    - struct suckaddr*
    - struct suckaddr*
    assertStmts:
    - condition: (VSA_Sane(sua1))
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    - condition: (VSA_Sane(sua2))
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    constantsTouched: []
    func_position:
      end: 406
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 406
    functionName: VSA_Compare_IP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached:
    - return
    - NEEDLESS
    - VSA_Sane
    - assert
    - WRONG
    - memcmp
    linkageType: ''
    returnType: int
    signature: int VSA_Compare_IP(const struct suckaddr *sua1, const struct suckaddr
      *sua2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:413,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:413,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:414,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:415,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts:
    - condition: (VSA_Sane(sua))
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: VSA_Clone
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached:
    - memcpy
    - VSA_Sane
    - assert
    - XXXAN
    - calloc
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VSA_Clone(const struct suckaddr *sua)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:424,1
    - Dst: ntohs
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:427,1
    - Dst: ntohs
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: VSA_Port
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 1
    functionsReached:
    - ntohs
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned VSA_Port(const struct suckaddr *sua)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - which
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 458
    functionName: VSA_getname
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSA_getname(which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:467,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:468,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vsap
    argTypes:
    - struct suckaddr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 469
    functionName: VSA_free
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    functionUses: 4
    functionsReached:
    - TRUST_ME
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: void
    signature: void VSA_free(const struct suckaddr **vsap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 144
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 144
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: xxxassert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xxxassert(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: AZ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 145
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AZ(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: AN
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 211
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AN(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: XXXAZ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXXAZ(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: XXXAN
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXXAN(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: diagnostic
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: diagnostic(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: WRONG
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRONG(expl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: _PTOK
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PTOK(call, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: PTOK
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTOK(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: INCOMPL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCOMPL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: __has_extension
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_extension(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: v_static_assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: v_static_assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: __v_static_assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: ___v_static_assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h:145,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h:146,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (b <= e)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: pdiff
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    functionUses: 0
    functionsReached:
    - assert
    - AN
    linkageType: ''
    returnType: size_t
    signature: size_t pdiff(const void *b, const void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: bprintf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bprintf(buf, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: vbprintf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbprintf(buf, fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: bstrcpy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bstrcpy(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: closefd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closefd(fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: __has_feature
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_feature(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: __GNUC_PREREQ__
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ__(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: __GNUC_PREREQ__
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ__(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: v_printflike_
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_printflike_(f,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: PAOK
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAOK(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: PRNDDN
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRNDDN(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: PRNDUP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRNDUP(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: TRUST_ME
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRUST_ME(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: PWR2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PWR2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: RDN2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RDN2(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: RUP2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUP2(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: VINDIRECT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VINDIRECT(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: VCOMBINE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCOMBINE(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: VUNIQ_NAME
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VUNIQ_NAME(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: VUNIQ_NAME
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VUNIQ_NAME(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: typeof
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: typeof(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - op
    - ','
    - ta
    - ','
    - tb
    - ','
    - a
    - ','
    - b
    - ','
    - _va
    - ','
    - _vb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: _vtake
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _vtake(op, ta, tb, a, b, _va, _vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - ta
    - ','
    - tb
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: vtake
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vtake(n, ta, tb, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: vmin
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmin(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: vmax
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmax(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: vmin_t
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmin_t(type, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: vmax_t
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmax_t(type, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - l
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: vlimit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlimit(a, l, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - l
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: vlimit_t
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlimit_t(type, a, l, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: vcountof
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vcountof(arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: v_statevariable_
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_statevariable_(varname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: NEEDLESS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDLESS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: NEEDLESS
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDLESS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: v_used_
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_used_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: v_counted_by_
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_counted_by_(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: Tcheck
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tcheck(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: Tlen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tlen(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: Tstrcmp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tstrcmp(t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: Tforeach
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tforeach(c, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: LIKELY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: UNLIKELY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: __DEQUALIFY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __DEQUALIFY(type, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: __containerof
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __containerof(x, s, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: __containerof
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __containerof(x, s, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - evb
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: DBG
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(evb, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:104,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:105,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - priv
    - a
    - u
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts:
    - condition: (u < evb->lpfd)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: vev_bh_update
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vev_bh_update(void *priv, void *a, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:122,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:123,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: vev_bh_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vev_bh_cmp(void *priv, const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:145,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:146,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:147,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: vev_get_pfd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - AN
    - realloc
    linkageType: ''
    returnType: int
    signature: int vev_get_pfd(struct vev_root *evb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:162,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:167,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: vev_get_sig
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int vev_get_sig(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:184,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:185,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - sig
    - siginfo
    - ctx
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts:
    - condition: (sig < vev_nsig)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (vev_sigs != NULL)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: vev_sigaction
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: void vev_sigaction(int sig, siginfo_t *siginfo, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:202,1
    - Dst: vev_get_pfd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:206,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:207,1
    - Dst: VBH_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:211,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:212,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:214,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:215,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:216,1
    - Dst: DBG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: VEV_New
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 2
    functionsReached:
    - pthread_self
    - AN
    - setbuf
    - VBH_new
    - DBG
    - vev_get_pfd
    - fopen
    - calloc
    - free
    linkageType: ''
    returnType: struct vev_root
    signature: 'struct vev_root *

      VEV_New(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:230,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:231,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:231,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:231,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:232,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:233,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:234,1
    - Dst: VBH_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:236,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:237,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:238,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - evbp
    argTypes:
    - struct vev_root**
    assertStmts:
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: VEV_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 2
    functionsReached:
    - pthread_self
    - VBH_root
    - TAKE_OBJ_NOTNULL
    - VEV_Stop
    - FREE_OBJ
    - VBH_destroy
    - assert
    - pthread_equal
    - free
    linkageType: ''
    returnType: void
    signature: void VEV_Destroy(struct vev_root **evbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: VEV_Alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct vev
    signature: 'struct vev *

      VEV_Alloc(void)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:264,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:265,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:267,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:268,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:269,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:269,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:269,1
    - Dst: DBG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:270,1
    - Dst: vev_get_pfd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:272,1
    - Dst: vev_get_sig
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:276,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:279,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:283,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:295,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:300,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:301,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:307,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:308,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - evb
    - e
    argTypes:
    - struct vev_root*
    - struct vev*
    assertStmts:
    - condition: (e->magic != VEV_MAGIC)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->sig >= 0)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (es != NULL)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->fd < 0 || e->fd_flags)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->fd < 0)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->callback != NULL)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->timeout >= 0.0)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->__binheap_idx != VBH_NOIDX)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 312
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 312
    functionName: VEV_Start
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 2
    functionsReached:
    - pthread_self
    - CHECK_OBJ_NOTNULL
    - DBG
    - vev_get_pfd
    - vev_get_sig
    - AZ
    - assert
    - pthread_equal
    - VTIM_mono
    - sigaction
    - VBH_insert
    linkageType: ''
    returnType: int
    signature: int VEV_Start(struct vev_root *evb, struct vev *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:321,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:322,1
    - Dst: DBG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:325,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:325,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:326,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:328,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:330,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:331,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:335,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:341,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:343,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:348,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:348,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - evb
    - e
    argTypes:
    - struct vev_root*
    - struct vev*
    assertStmts:
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (evb == e->__vevb)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (evb->pev[e->__binheap_idx] == e)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->__binheap_idx != VBH_NOIDX)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (evb->n_fd_events > 0)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->__binheap_idx == VBH_NOIDX)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->sig < vev_nsig)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (es->vev == e)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 354
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 354
    functionName: VEV_Stop
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 2
    functionsReached:
    - pthread_self
    - FINI_OBJ
    - CHECK_OBJ_NOTNULL
    - VBH_delete
    - DBG
    - AZ
    - assert
    - pthread_equal
    - sigaction
    linkageType: ''
    returnType: void
    signature: void VEV_Stop(struct vev_root *evb, struct vev *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:363,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:364,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:364,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:364,1
    - Dst: VEV_Once
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts:
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: VEV_Loop
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - VEV_Once
    - CHECK_OBJ_NOTNULL
    - assert
    - pthread_equal
    linkageType: ''
    returnType: int
    signature: int VEV_Loop(struct vev_root *evb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vev*::callback
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:379,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:381,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:382,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:385,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - evb
    - e
    - t
    argTypes:
    - struct vev_root*
    - struct vev*
    - vtim_mono
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 389
    functionName: vev_sched_timeout
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - VEV_Stop
    - VBH_delete
    - struct vev*::callback
    - free
    - VBH_insert
    linkageType: ''
    returnType: int
    signature: int vev_sched_timeout(struct vev_root *evb, struct vev *e, vtim_mono
      t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:405,1
    - Dst: struct vev*::callback
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:406,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:409,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:412,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts:
    - condition: (e != NULL)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 419
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 419
    functionName: vev_sched_signal
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 0
    functionsReached:
    - VEV_Stop
    - memset
    - struct vev*::callback
    - assert
    - free
    linkageType: ''
    returnType: int
    signature: int vev_sched_signal(struct vev_root *evb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:430,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:431,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:431,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:431,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:432,1
    - Dst: vev_sched_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:435,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:438,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:440,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:441,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:442,1
    - Dst: vev_sched_timeout
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:444,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:454,1
    - Dst: vev_sched_signal
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:456,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:461,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:462,1
    - Dst: vev_sched_timeout
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:464,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:467,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:469,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:474,1
    - Dst: DBG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:476,1
    - Dst: DBG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:483,1
    - Dst: struct vev*::callback
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:485,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:487,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:491,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:492,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c:497,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts:
    - condition: (evb->n_fd_events == i)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (progress > 0)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (evb->lpfd < evb->npfd)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e->__binheap_idx == VBH_NOIDX + 1)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (e != NULL)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - condition: (evb->n_fd_events > 0)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    constantsTouched: []
    func_position:
      end: 501
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 501
    functionName: VEV_Once
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    functionUses: 3
    functionsReached:
    - pthread_self
    - VBH_root
    - VEV_Stop
    - CHECK_OBJ_NOTNULL
    - DBG
    - struct vev*::callback
    - AZ
    - assert
    - vev_sched_signal
    - pthread_equal
    - vev_sched_timeout
    - poll
    - VTIM_mono
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: int
    signature: int VEV_Once(struct vev_root *evb)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 76
    functionName: VUDP_Check
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VUDP_Check(int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:90,1
    - Dst: VUDP_Check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - int*
    assertStmts:
    - condition: (VUDP_Check(i))
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: VUDP_close
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c
    functionUses: 3
    functionsReached:
    - assert
    - VUDP_Check
    - close
    linkageType: ''
    returnType: void
    signature: void VUDP_close(int *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:116,1
    - Dst: socket
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:117,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:128,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:132,1
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:137,1
    - Dst: bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:138,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - sa
    - errp
    argTypes:
    - struct suckaddr*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 147
    functionName: VUDP_bind
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - socket
    - bind
    - VSA_Get_Sockaddr
    - VSA_Get_Proto
    - closefd
    linkageType: ''
    returnType: int
    signature: int VUDP_bind(const struct suckaddr *sa, const char **errp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VUDP_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:155,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: vudp_lo_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c
    functionUses: 0
    functionsReached:
    - VUDP_bind
    - AN
    linkageType: ''
    returnType: void
    signature: void vudp_lo_cb(void *priv, const struct suckaddr *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSS_resolver_socktype
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - def_port
    - errp
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: VUDP_bind_on
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c
    functionUses: 2
    functionsReached:
    - VSS_resolver_socktype
    linkageType: ''
    returnType: int
    signature: int VUDP_bind_on(const char *addr, const char *def_port, const char
      **errp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: VUS_is
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VUS_is(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_absolute_time
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:110,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:112,1
    - Dst: mach_timebase_info
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: mach_time_init
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - AZ
    - mach_timebase_info
    - mach_absolute_time
    linkageType: ''
    returnType: void
    signature: void mach_time_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_time_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: init
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 23
    functionsReached:
    - mach_time_init
    linkageType: ''
    returnType: void
    signature: void init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:134,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:138,1
    - Dst: clock_gettime
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: VTIM_mono
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 16
    functionsReached:
    - clock_gettime
    - gethrtime
    - AZ
    linkageType: ''
    returnType: vtim_mono
    signature: vtim_mono VTIM_mono(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:149,1
    - Dst: clock_gettime
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:149,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:154,1
    - Dst: gettimeofday
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: VTIM_real
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 3
    functionsReached:
    - clock_gettime
    - gettimeofday
    - AZ
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real VTIM_real(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:165,1
    - Dst: gmtime_r
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:175,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - vtim_real
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: VTIM_format
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 2
    functionsReached:
    - snprintf
    - AN
    - gmtime_r
    linkageType: ''
    returnType: void
    signature: void VTIM_format(vtim_real t, char p[VTIM_FORMAT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: FAIL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: FAIL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mult
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: DIGIT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIGIT(mult, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: MUSTBE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUSTBE(chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: WEEKDAY
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEEKDAY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: MONTH
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MONTH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: TIMESTAMP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMESTAMP()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:255,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:262,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:263,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:264,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:265,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:266,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:267,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:268,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:269,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:270,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:271,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:272,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:273,1
    - Dst: WEEKDAY
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:276,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:280,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:282,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:284,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:285,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:287,1
    - Dst: MONTH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:288,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:289,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:290,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:291,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:292,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:293,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:294,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:295,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:296,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:297,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:298,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:299,1
    - Dst: MONTH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:303,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:304,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:306,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:309,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:310,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:311,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:312,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:313,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:314,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:315,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:316,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:317,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:318,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:320,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:321,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:322,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:323,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:324,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:325,1
    - Dst: MONTH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:326,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:327,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:328,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:329,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:333,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:334,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:335,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:336,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:337,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:338,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:340,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:347,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:350,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:352,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:354,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:356,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:358,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:360,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:366,1
    - Dst: FAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:394,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 117
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts:
    - condition: (weekday >= 0 && weekday <= 6)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    constantsTouched: []
    func_position:
      end: 401
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 401
    functionName: VTIM_parse
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - DIGIT
    - MUSTBE
    - FAIL
    - assert
    - TIMESTAMP
    - WEEKDAY
    - MONTH
    - memcmp
    - strlen
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real VTIM_parse(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_timespec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:408,1
    - Dst: nanosleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: VTIM_sleep
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 20
    functionsReached:
    - nanosleep
    - VTIM_timespec
    linkageType: ''
    returnType: void
    signature: void VTIM_sleep(vtim_dur t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:423,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:423,1
    - Dst: trunc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: VTIM_timeval
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - isnan
    - trunc
    - AZ
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval VTIM_timeval(vtim_dur t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:434,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:434,1
    - Dst: trunc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 438
    functionName: VTIM_timespec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 3
    functionsReached:
    - isnan
    - trunc
    - AZ
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec VTIM_timespec(vtim_dur t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_timeval
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:444,1
    - Dst: isinf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:444,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: VTIM_timeval_sock
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - VTIM_timeval
    - isinf
    - vmax
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval VTIM_timeval_sock(vtim_dur t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isinf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:451,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:453,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tmo
    argTypes:
    - vtim_dur
    assertStmts:
    - condition: (!isnan(tmo))
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: VTIM_poll_tmo
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - assert
    - isnan
    - isinf
    linkageType: ''
    returnType: int
    signature: int VTIM_poll_tmo(vtim_dur tmo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:469,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:470,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:471,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:473,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - good
    argTypes:
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: tst
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - printf
    - VTIM_parse
    - VTIM_format
    - exit
    linkageType: ''
    returnType: void
    signature: void tst(const char *s, time_t good)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:486,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:489,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - name
    - begin
    - end
    - ref
    argTypes:
    - char*
    - double
    - double
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 498
    functionName: tst_delta_check
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int tst_delta_check(const char *name, double begin, double end, vtim_dur
      ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:508,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:509,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:510,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:511,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:512,1
    - Dst: tst_delta_check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:514,1
    - Dst: tst_delta_check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:515,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:518,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 521
    functionName: tst_delta
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - tst_delta_check
    - VTIM_real
    - exit
    - VTIM_mono
    - printf
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void tst_delta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:535,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:537,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:538,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:539,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:543,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:545,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:546,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:547,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:551,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:553,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:556,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:557,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:561,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:563,1
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:564,1
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:565,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:568,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 571
    functionName: bench
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - floor
    - VTIM_real
    - VTIM_mono
    - printf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void bench(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:579,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:581,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:582,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:583,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - s
    argTypes:
    - time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 586
    functionName: parse_check
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - printf
    - VTIM_parse
    - VTIM_format
    - exit
    linkageType: ''
    returnType: void
    signature: void parse_check(time_t t, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:603,1
    - Dst: setenv
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:603,1
    - Dst: bench
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:605,1
    - Dst: gmtime_r
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:610,1
    - Dst: strftime
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:611,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:612,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:613,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:614,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:616,1
    - Dst: parse_check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:618,1
    - Dst: strftime
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:620,1
    - Dst: parse_check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:621,1
    - Dst: strftime
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:623,1
    - Dst: parse_check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:624,1
    - Dst: strftime
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:627,1
    - Dst: parse_check
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:628,1
    - Dst: tst
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:633,1
    - Dst: tst
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:634,1
    - Dst: tst
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:635,1
    - Dst: tst
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:637,1
    - Dst: tst_delta
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 642
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
    functionUses: 0
    functionsReached:
    - VTIM_format
    - bench
    - setenv
    - parse_check
    - tst
    - exit
    - gmtime_r
    - AZ
    - strcmp
    - tst_delta
    - printf
    - strftime
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: VAS_errtxt
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c
    functionUses: 0
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      VAS_errtxt(int e)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:70,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:75,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:79,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:83,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:89,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:90,1
    - Dst: VBT_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:93,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:94,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:95,1
    - Dst: syslog
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - func
    - file
    - line
    - cond
    - kind
    argTypes:
    - char*
    - char*
    - int
    - char*
    - enum vas_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: vas_default
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c
    functionUses: 0
    functionsReached:
    - fprintf
    - bprintf
    - VBT_dump
    - syslog
    - strerror
    linkageType: ''
    returnType: void
    signature: "void vas_default(const char *func, const char *file, int line,\n    const
      char *cond, enum vas_e kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VAS_Fail_Func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:107,1
    - Dst: vas_default
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:109,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - func
    - file
    - line
    - cond
    - kind
    argTypes:
    - char*
    - char*
    - int
    - char*
    - enum vas_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: v_noreturn_::VAS_Fail
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c
    functionUses: 0
    functionsReached:
    - VAS_Fail_Func
    - vas_default
    - abort
    linkageType: ''
    returnType: void
    signature: "void v_noreturn_\nVAS_Fail(const char *func, const char *file, int
      line,\n    const char *cond, enum vas_e kind)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:66,1
    - Dst: closefrom
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:69,1
    - Dst: close_range
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:73,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:82,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:82,1
    - Dst: opendir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:83,1
    - Dst: readdir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:86,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:89,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:95,1
    - Dst: closedir
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:95,1
    - Dst: sysconf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:99,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:100,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    - condition: (maxfd > 0)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: VSUB_closefrom
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    functionUses: 4
    functionsReached:
    - closedir
    - closefrom
    - close
    - getpid
    - bprintf
    - strtoul
    - AZ
    - assert
    - readdir
    - close_range
    - sysconf
    - opendir
    linkageType: ''
    returnType: void
    signature: void VSUB_closefrom(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:113,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - str
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: vsub_vlu
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: int
    signature: int vsub_vlu(void *priv, const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:133,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:134,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:135,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:138,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:139,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:140,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:141,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:142,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:143,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:144,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:148,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:149,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:149,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:150,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:150,1
    - Dst: VSUB_closefrom
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:152,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:153,1
    - Dst: _exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:159,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:161,1
    - Dst: VLU_File
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:162,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:163,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:165,1
    - Dst: waitpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:168,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:170,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:171,1
    - Dst: WIFEXITED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:175,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:175,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:177,1
    - Dst: WIFEXITED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:178,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:179,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:180,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:182,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:184,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:184,1
    - Dst: WCOREDUMP
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:186,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:187,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:188,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c:189,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 5
    argNames:
    - sb
    - func
    - priv
    - name
    - maxlines
    argTypes:
    - struct vsb*
    - vsub_func_f*
    - void*
    - char*
    - int
    assertStmts:
    - condition: (p[0] > STDERR_FILENO)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    - condition: (p[1] > STDERR_FILENO)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    - condition: (rv != -1)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    - condition: (dup2(p[1], STDERR_FILENO) == STDERR_FILENO)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    - condition: (dup2(p[1], STDOUT_FILENO) == STDOUT_FILENO)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    constantsTouched: []
    func_position:
      end: 193
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 193
    functionName: VSUB_run
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    functionUses: 0
    functionsReached:
    - WIFSIGNALED
    - VSB_printf
    - dup2
    - WEXITSTATUS
    - fork
    - _exit
    - WCOREDUMP
    - WIFEXITED
    - WTERMSIG
    - pipe
    - VSUB_closefrom
    - assert
    - waitpid
    - VFIL_null_fd
    - strerror
    - func
    - VSB_cat
    - VLU_File
    - closefd
    linkageType: ''
    returnType: unsigned
    signature: "unsigned VSUB_run(struct vsb *sb, vsub_func_f *func, void *priv, const
      char *name,\n    int maxlines)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:75,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:89,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:91,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - str
    - addr
    - port
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 102
    functionName: vss_parse
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      vss_parse(char *str, char **addr, char **port)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vss_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:112,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:118,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:121,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - str
    - addr
    - port
    - lo
    - hi
    argTypes:
    - char*
    - char**
    - char**
    - unsigned long*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: vss_parse_range
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 0
    functionsReached:
    - strtoul
    - vss_parse
    - strchr
    linkageType: ''
    returnType: char
    signature: "char *\nvss_parse_range(char *str, char **addr, char **port, unsigned
      long *lo,\n    unsigned long *hi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:148,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:149,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:150,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:151,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:154,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:159,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:160,1
    - Dst: vss_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:161,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:163,1
    - Dst: getaddrinfo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:168,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:169,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:172,1
    - Dst: gai_strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 7
    argNames:
    - addr
    - def_port
    - family
    - socktype
    - flags
    - res
    - errp
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - struct addrinfo**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: vss_resolve
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 0
    functionsReached:
    - AN
    - VAS_errtxt
    - memset
    - strdup
    - AZ
    - vss_parse
    - getaddrinfo
    - gai_strerror
    - free
    linkageType: ''
    returnType: int
    signature: "int vss_resolve(const char *addr, const char *def_port, int family,
      int socktype,\n    int flags, struct addrinfo **res, const char **errp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:183,1
    - Dst: VSA_Malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:185,1
    - Dst: VSA_Build
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - ai
    argTypes:
    - void*
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: vss_alloc_suckaddr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 0
    functionsReached:
    - VSA_Malloc
    - AN
    - VSA_Build
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      vss_alloc_suckaddr(void *dst, const struct addrinfo *ai)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:205,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:206,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:207,1
    - Dst: vss_resolve
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:209,1
    - Dst: VSA_Malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:215,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:217,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:218,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - addr
    - def_port
    - func
    - priv
    - errp
    - socktype
    argTypes:
    - char*
    - char*
    - vss_resolved_f*
    - void*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: VSS_resolver_socktype
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 1
    functionsReached:
    - AN
    - VSA_free
    - VSA_Malloc
    - vss_resolve
    - func
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: "int VSS_resolver_socktype(const char *addr, const char *def_port,\n
      \   vss_resolved_f *func, void *priv, const char **errp, int socktype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSS_resolver_socktype
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - addr
    - def_port
    - func
    - priv
    - errp
    argTypes:
    - char*
    - char*
    - vss_resolved_f*
    - void*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: VSS_resolver
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 0
    functionsReached:
    - VSS_resolver_socktype
    linkageType: ''
    returnType: int
    signature: "int VSS_resolver(const char *addr, const char *def_port, vss_resolved_f
      *func,\n    void *priv, const char **errp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:244,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:245,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:248,1
    - Dst: vss_parse_range
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:249,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:251,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:257,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:258,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:262,1
    - Dst: sprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:269,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:270,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - addr
    - def_port
    - func
    - priv
    - errp
    argTypes:
    - char*
    - char*
    - vss_resolved_f*
    - void*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 274
    functionName: VSS_resolver_range
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 0
    functionsReached:
    - AN
    - sprintf
    - memcpy
    - strdup
    - VSS_resolver
    - vss_parse_range
    - free
    linkageType: ''
    returnType: int
    signature: "int VSS_resolver_range(const char *addr, const char *def_port, vss_resolved_f
      *func,\n    void *priv, const char **errp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:285,1
    - Dst: vss_resolve
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:286,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:288,1
    - Dst: vss_alloc_suckaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:289,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - dst
    - addr
    - def_port
    - family
    - socktype
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: VSS_ResolveOne
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 4
    functionsReached:
    - AN
    - vss_alloc_suckaddr
    - vss_resolve
    - AZ
    - freeaddrinfo
    linkageType: ''
    returnType: struct suckaddr
    signature: "struct suckaddr *\nVSS_ResolveOne(void *dst, const char *addr, const
      char *def_port,\n    int family, int socktype, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:305,1
    - Dst: vss_resolve
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:306,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:308,1
    - Dst: vss_alloc_suckaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:311,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 6
    argNames:
    - dst
    - addr
    - def_port
    - family
    - socktype
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: VSS_ResolveFirst
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
    functionUses: 1
    functionsReached:
    - AN
    - vss_alloc_suckaddr
    - vss_resolve
    - AZ
    - freeaddrinfo
    linkageType: ''
    returnType: struct suckaddr
    signature: "struct suckaddr *\nVSS_ResolveFirst(void *dst, const char *addr, const
      char *def_port,\n    int family, int socktype, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pfh
    argTypes:
    - struct vpf_fh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: vpf_verify
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
    functionUses: 0
    functionsReached:
    - fstat
    linkageType: ''
    returnType: int
    signature: int vpf_verify(const struct vpf_fh *pfh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:80,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:84,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:86,1
    - Dst: strtol
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - path
    - pidptr
    argTypes:
    - char*
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: VPF_Read
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
    functionUses: 1
    functionsReached:
    - strtol
    - read
    - closefd
    - open
    linkageType: ''
    returnType: int
    signature: int VPF_Read(const char *path, pid_t *pidptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VFL_Open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:115,1
    - Dst: VPF_Read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:119,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:130,1
    - Dst: fstat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:130,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:132,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:133,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - path
    - mode
    - pidptr
    argTypes:
    - char*
    - mode_t
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 142
    functionName: VPF_Open
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - strdup
    - AZ
    - VFL_Open
    - VPF_Read
    - fstat
    linkageType: ''
    returnType: struct vpf_fh
    signature: 'struct vpf_fh *

      VPF_Open(const char *path, mode_t mode, pid_t *pidptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpf_verify
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:153,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:159,1
    - Dst: ftruncate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:159,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:161,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:161,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:162,1
    - Dst: pwrite
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:162,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:162,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pfh
    argTypes:
    - struct vpf_fh*
    assertStmts:
    - condition: "(pwrite(pfh->pf_fd, pidstr, strlen(pidstr), 0) ==\n\t    (ssize_t)strlen(pidstr))"
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: VPF_Write
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
    functionUses: 0
    functionsReached:
    - bprintf
    - getpid
    - AZ
    - assert
    - vpf_verify
    - pwrite
    - ftruncate
    - strlen
    linkageType: ''
    returnType: void
    signature: void VPF_Write(const struct vpf_fh *pfh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpf_verify
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:169,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:170,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:171,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:173,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pfh
    argTypes:
    - struct vpf_fh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: VPF_Remove
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
    functionUses: 0
    functionsReached:
    - vpf_verify
    - free
    - unlink
    - closefd
    linkageType: ''
    returnType: void
    signature: void VPF_Remove(struct vpf_fh *pfh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: good_rand
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t good_rand(uint32_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: vrnd_RandomTestable
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long vrnd_RandomTestable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: good_rand
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:137,1
    - Dst: vrnd_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: VRND_SeedTestable
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
    functionUses: 0
    functionsReached:
    - vrnd_RandomTestable
    - good_rand
    linkageType: ''
    returnType: void
    signature: void VRND_SeedTestable(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:150,1
    - Dst: VRND_Lock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:151,1
    - Dst: vrnd_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:153,1
    - Dst: VRND_Unlock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: VRND_RandomTestable
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
    functionUses: 2
    functionsReached:
    - vrnd_RandomTestable
    - AN
    - VRND_Unlock
    - VRND_Lock
    linkageType: ''
    returnType: long
    signature: long VRND_RandomTestable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldexp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:162,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:162,1
    - Dst: ldexp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:163,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: VRND_RandomTestableDouble
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
    functionUses: 0
    functionsReached:
    - VRND_RandomTestable
    - ldexp
    linkageType: ''
    returnType: double
    signature: double VRND_RandomTestableDouble(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:174,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:175,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:179,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: VRND_RandomCrypto
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
    functionUses: 0
    functionsReached:
    - AN
    - read
    - closefd
    - open
    linkageType: ''
    returnType: int
    signature: int VRND_RandomCrypto(void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:194,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:194,1
    - Dst: srandom
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:195,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:196,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:196,1
    - Dst: VRND_SeedTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:197,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:198,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:198,1
    - Dst: srand48
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: VRND_SeedAll
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
    functionUses: 2
    functionsReached:
    - VRND_RandomCrypto
    - srand48
    - VRND_SeedTestable
    - AZ
    - srandom
    linkageType: ''
    returnType: void
    signature: void VRND_SeedAll(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:65,1
    - Dst: openat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:76,1
    - Dst: flock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:79,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:82,1
    - Dst: fstatat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:86,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:88,1
    - Dst: fstat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:91,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:94,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:101,1
    - Dst: ftruncate
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:104,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:107,1
    - Dst: fcntl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:116,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - dirfd
    - path
    - flags
    - ap
    argTypes:
    - int
    - char*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 125
    functionName: vflopenat
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c
    functionUses: 0
    functionsReached:
    - fstatat
    - close
    - va_arg
    - flock
    - fcntl
    - ftruncate
    - openat
    - fstat
    linkageType: ''
    returnType: int
    signature: int vflopenat(int dirfd, const char *path, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:133,1
    - Dst: vflopenat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:134,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: VFL_Open
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c
    functionUses: 1
    functionsReached:
    - vflopenat
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int VFL_Open(const char *path, int flags, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:47,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:48,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:49,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:49,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:54,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:60,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:67,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:69,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - uds
    - path
    - err
    argTypes:
    - struct sockaddr_un*
    - char*
    - char**
    assertStmts:
    - condition: (VUS_is(path))
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: sun_init
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    functionUses: 0
    functionsReached:
    - AN
    - bprintf
    - memset
    - strcmp
    - assert
    - VUS_is
    - strlen
    linkageType: ''
    returnType: int
    signature: int sun_init(struct sockaddr_un *uds, const char *path, const char
      **err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:83,1
    - Dst: sun_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:89,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - path
    - func
    - priv
    - err
    argTypes:
    - char*
    - vus_resolved_f*
    - void*
    - char**
    assertStmts:
    - condition: (uds.sun_path[1] != '\0')
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: VUS_resolver
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    functionUses: 3
    functionsReached:
    - assert
    - func
    - AN
    - sun_init
    linkageType: ''
    returnType: int
    signature: "int VUS_resolver(const char *path, vus_resolved_f *func, void *priv,\n\t
      \    const char **err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VUS_socklen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:102,1
    - Dst: socket
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:107,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:114,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:118,1
    - Dst: bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:123,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - uds
    - errp
    argTypes:
    - struct sockaddr_un*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: VUS_bind
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    functionUses: 2
    functionsReached:
    - unlink
    - VUS_socklen
    - socket
    - bind
    - closefd
    linkageType: ''
    returnType: int
    signature: int VUS_bind(const struct sockaddr_un *uds, const char **errp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sun_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:144,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:148,1
    - Dst: VUS_socklen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:150,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:152,1
    - Dst: socket
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:154,1
    - Dst: VTCP_nonblocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:160,1
    - Dst: connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:162,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:164,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:168,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:180,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:185,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:189,1
    - Dst: VTCP_connected
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - path
    - msec
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (uds.sun_path[1] != '\0')
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    - condition: (msec > 0)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    constantsTouched: []
    func_position:
      end: 195
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 195
    functionName: VUS_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    functionUses: 0
    functionsReached:
    - AN
    - connect
    - VTCP_connected
    - VTCP_nonblocking
    - assert
    - VUS_socklen
    - poll
    - VTCP_blocking
    - sun_init
    - socket
    - closefd
    linkageType: ''
    returnType: int
    signature: int VUS_connect(const char *path, int msec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:205,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:206,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - uds
    argTypes:
    - struct sockaddr_un*
    assertStmts:
    - condition: (sl <= sizeof(*uds))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    - condition: (p != NULL)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: VUS_socklen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
    functionUses: 3
    functionsReached:
    - assert
    - strchr
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t VUS_socklen(const struct sockaddr_un *uds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: pcre2_set_depth_limit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcre2_set_depth_limit(r, d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:77,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:78,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:79,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:84,1
    - Dst: pcre2_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:89,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:93,1
    - Dst: pcre2_match_context_create
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:96,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:99,1
    - Dst: pcre2_jit_compile
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - pattern
    - options
    - errptr
    - erroffset
    - jit
    argTypes:
    - char*
    - unsigned
    - int*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 109
    functionName: VRE_compile
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 8
    functionsReached:
    - AN
    - pcre2_jit_compile
    - VRE_free
    - pcre2_compile
    - pcre2_match_context_create
    - ALLOC_OBJ
    linkageType: ''
    returnType: vre_t
    signature: "vre_t *\nVRE_compile(const char *pattern, unsigned options,\n    int
      *errptr, int *erroffset, unsigned jit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:117,1
    - Dst: pcre2_get_error_message
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:118,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:120,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vsb
    - err
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: VRE_error
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 8
    functionsReached:
    - VSB_cat
    - pcre2_get_error_message
    - VSB_printf
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VRE_error(struct vsb *vsb, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:135,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:137,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - vre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: VRE_unpack
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached:
    - TRUST_ME
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: pcre2_code
    signature: 'pcre2_code *

      VRE_unpack(const vre_t *code)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:147,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:155,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:156,1
    - Dst: pcre2_set_match_limit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:156,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:157,1
    - Dst: pcre2_set_depth_limit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - code
    - lim
    argTypes:
    - vre_t*
    - struct vre_limits*
    assertStmts:
    - condition: (code->re != VRE_PACKED_RE)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: vre_limit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached:
    - pcre2_set_depth_limit
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - pcre2_set_match_limit
    linkageType: ''
    returnType: void
    signature: void vre_limit(const vre_t *code, const volatile struct vre_limits
      *lim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:166,1
    - Dst: VRE_unpack
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:167,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:168,1
    - Dst: pcre2_pattern_info
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:168,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:170,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:174,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - code
    - sz
    argTypes:
    - vre_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: VRE_export
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached:
    - pcre2_pattern_info
    - INIT_OBJ
    - malloc
    - CHECK_OBJ_NOTNULL
    - memcpy
    - AZ
    - VRE_unpack
    linkageType: ''
    returnType: vre_t
    signature: 'vre_t *

      VRE_export(const vre_t *code, size_t *sz)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VRE_unpack
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:192,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:198,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:199,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:202,1
    - Dst: pcre2_get_ovector_count
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:203,1
    - Dst: pcre2_match
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:207,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:211,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:212,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:213,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:214,1
    - Dst: pcre2_get_ovector_count
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:214,1
    - Dst: pcre2_match_data_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 8
    argNames:
    - code
    - subject
    - length
    - offset
    - options
    - groups
    - count
    - datap
    argTypes:
    - vre_t*
    - char*
    - size_t
    - size_t
    - int
    - txt*
    - size_t*
    - pcre2_match_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 234
    functionName: vre_capture
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached:
    - pcre2_match_data_free
    - pcre2_get_ovector_count
    - AN
    - pcre2_match_data_create_from_pattern
    - pcre2_match
    - pcre2_get_ovector_pointer
    - vmin_t
    - VRE_unpack
    linkageType: ''
    returnType: int
    signature: "int vre_capture(const vre_t *code, const char *subject, size_t length,\n
      \   size_t offset, int options, txt *groups, size_t *count,\n    pcre2_match_data
      **datap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:241,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:242,1
    - Dst: vre_limit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:246,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - code
    - subject
    - length
    - options
    - lim
    argTypes:
    - vre_t*
    - char*
    - size_t
    - int
    - struct vre_limits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: VRE_match
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 8
    functionsReached:
    - vre_capture
    - AN
    - CHECK_OBJ_NOTNULL
    - vre_limit
    linkageType: ''
    returnType: int
    signature: "int VRE_match(const vre_t *code, const char *subject, size_t length,\n
      \   int options, const volatile struct vre_limits *lim)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:257,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:258,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:259,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:260,1
    - Dst: vre_limit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:264,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - code
    - subject
    - length
    - options
    - groups
    - count
    - lim
    argTypes:
    - vre_t*
    - char*
    - size_t
    - int
    - txt*
    - size_t
    - struct vre_limits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 271
    functionName: VRE_capture
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached:
    - vre_capture
    - AN
    - CHECK_OBJ_NOTNULL
    - vre_limit
    linkageType: ''
    returnType: int
    signature: "int VRE_capture(const vre_t *code, const char *subject, size_t length,
      int options,\n    txt *groups, size_t count, const volatile struct vre_limits
      *lim)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:284,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:285,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:286,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:287,1
    - Dst: vre_limit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:289,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:291,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:295,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:300,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:301,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:305,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:305,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:309,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:309,1
    - Dst: isdigit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:311,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:316,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:316,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:320,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:320,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:321,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:325,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:329,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:335,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:336,1
    - Dst: pcre2_match_data_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:337,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:341,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 6
    argNames:
    - code
    - subject
    - replacement
    - vsb
    - lim
    - all
    argTypes:
    - vre_t*
    - char*
    - char*
    - struct vsb*
    - struct vre_limits*
    - int
    assertStmts:
    - condition: (i > VRE_ERROR_NOMATCH)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    constantsTouched: []
    func_position:
      end: 343
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 343
    functionName: VRE_sub
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached:
    - pcre2_match_data_free
    - AN
    - CHECK_OBJ_NOTNULL
    - vre_limit
    - AZ
    - assert
    - VSB_cat
    - pdiff
    - VSB_bcat
    - isdigit
    - vre_capture
    - Tlen
    linkageType: ''
    returnType: int
    signature: "int VRE_sub(const vre_t *code, const char *subject, const char *replacement,\n
      \   struct vsb *vsb, const volatile struct vre_limits *lim, int all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:350,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:354,1
    - Dst: pcre2_match_context_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:358,1
    - Dst: pcre2_code_free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:360,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - vv
    argTypes:
    - vre_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 362
    functionName: VRE_free
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 9
    functionsReached:
    - pcre2_match_context_free
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - AZ
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void VRE_free(vre_t **vv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:369,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:372,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:373,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - vsb
    - src
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: VRE_quote
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    functionUses: 0
    functionsReached:
    - strstr
    - VSB_printf
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRE_quote(struct vsb *vsb, const char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1821
    functionName: z_deflateInit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1823
    functionName: z_inflateInit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1826
    functionName: z_deflateInit2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1829
    functionName: z_inflateInit2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1832
    functionName: z_inflateBackInit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1835
    functionName: deflateInit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1837
    functionName: inflateInit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1840
    functionName: deflateInit2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1843
    functionName: inflateInit2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1846
    functionName: inflateBackInit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1867
    functionName: z_gzgetc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1870
    functionName: gzgetc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: KASSERT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KASSERT(e, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: SBMALLOC
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBMALLOC(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: SBFREE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBFREE(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: rndup2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rndup2(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: VSB_ISDYNAMIC
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_ISDYNAMIC(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: VSB_ISDYNSTRUCT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_ISDYNSTRUCT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: VSB_HASROOM
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_HASROOM(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: VSB_FREESPACE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_FREESPACE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: VSB_CANEXTEND
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_CANEXTEND(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: VSB_SETFLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_SETFLAG(s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: VSB_CLEARFLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_CLEARFLAG(s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:87,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:89,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:91,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fun
    - s
    argTypes:
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: _assert_VSB_integrity
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - KASSERT
    linkageType: ''
    returnType: void
    signature: void _assert_VSB_integrity(const char *fun, const struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fun
    - s
    - state
    argTypes:
    - char*
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: _assert_VSB_state
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - KASSERT
    linkageType: ''
    returnType: void
    signature: void _assert_VSB_state(const char *fun, const struct vsb *s, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: assert_VSB_integrity
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_integrity(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: assert_VSB_state
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_state(s, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: assert_VSB_integrity
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_integrity(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: assert_VSB_state
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_state(s, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rndup2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:130,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: VSB_extendsize
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - KASSERT
    - rndup2
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VSB_extendsize(ssize_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSB_CANEXTEND
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:145,1
    - Dst: VSB_extendsize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:147,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:148,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:149,1
    - Dst: SBMALLOC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:151,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:154,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:155,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - addlen
    argTypes:
    - struct vsb*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: VSB_extend
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - VSB_extendsize
    - SBMALLOC
    - VSB_ISDYNAMIC
    - VSB_SETFLAG
    - memcpy
    - realloc
    - VSB_CANEXTEND
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VSB_extend(struct vsb *s, ssize_t addlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:169,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:170,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: _vsb_indent
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - VSB_FREESPACE
    - memset
    - VSB_extend
    linkageType: ''
    returnType: void
    signature: void _vsb_indent(struct vsb *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:187,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:194,1
    - Dst: VSB_extendsize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:202,1
    - Dst: SBMALLOC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:204,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - s
    - buf
    - length
    - flags
    argTypes:
    - struct vsb*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: VSB_newbuf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - VSB_extendsize
    - SBMALLOC
    - KASSERT
    - VSB_SETFLAG
    - memset
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VSB_newbuf(struct vsb *s, char *buf, int length, int flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:214,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:215,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:217,1
    - Dst: VSB_newbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - buf
    - length
    argTypes:
    - struct vsb*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: VSB_init
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 9
    functionsReached:
    - VSB_newbuf
    - KASSERT
    - AN
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VSB_init(struct vsb *s, void *buf, ssize_t length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SBMALLOC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:230,1
    - Dst: VSB_newbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:233,1
    - Dst: SBFREE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:234,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: VSB_new_auto
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 41
    functionsReached:
    - SBFREE
    - VSB_newbuf
    - SBMALLOC
    - VSB_SETFLAG
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VSB_new_auto(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:248,1
    - Dst: VSB_CLEARFLAG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: VSB_clear
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 17
    functionsReached:
    - VSB_CLEARFLAG
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_clear(struct vsb *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:266,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:267,1
    - Dst: _vsb_indent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:271,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:272,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: VSB_put_byte
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - VSB_FREESPACE
    - assert_VSB_state
    - VSB_extend
    - _vsb_indent
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_put_byte(struct vsb *s, int c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:287,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:288,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:290,1
    - Dst: _vsb_indent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:295,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:296,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:297,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:297,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - struct vsb*
    - void*
    - ssize_t
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    constantsTouched: []
    func_position:
      end: 305
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 305
    functionName: VSB_bcat
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 16
    functionsReached:
    - memcpy
    - VSB_FREESPACE
    - assert_VSB_state
    - _vsb_indent
    - assert
    - VSB_extend
    - assert_VSB_integrity
    linkageType: ''
    returnType: int
    signature: int VSB_bcat(struct vsb *s, const void *buf, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:316,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:317,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:318,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:324,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:326,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:331,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 333
    functionName: VSB_cat
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 28
    functionsReached:
    - KASSERT
    - assert_VSB_state
    - VSB_bcat
    - strchr
    - assert_VSB_integrity
    - strlen
    linkageType: ''
    returnType: int
    signature: int VSB_cat(struct vsb *s, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:344,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:345,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:347,1
    - Dst: _vsb_indent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:352,1
    - Dst: va_copy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:366,1
    - Dst: vsnprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:367,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:367,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:369,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:374,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:375,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:375,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:386,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:386,1
    - Dst: VSB_HASROOM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:387,1
    - Dst: VSB_CANEXTEND
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:387,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - s
    - fmt
    - ap
    argTypes:
    - struct vsb*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 396
    functionName: VSB_vprintf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 2
    functionsReached:
    - KASSERT
    - va_copy
    - vsnprintf
    - VSB_HASROOM
    - VSB_FREESPACE
    - assert_VSB_state
    - vmin_t
    - _vsb_indent
    - VSB_extend
    - VSB_CANEXTEND
    - assert_VSB_integrity
    - va_end
    linkageType: ''
    returnType: int
    signature: int VSB_vprintf(struct vsb *s, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:407,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:408,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: VSB_printf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 32
    functionsReached:
    - va_start
    - va_end
    - VSB_vprintf
    linkageType: ''
    returnType: int
    signature: int VSB_printf(struct vsb *s, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_put_byte
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: VSB_putc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 18
    functionsReached:
    - VSB_put_byte
    linkageType: ''
    returnType: int
    signature: int VSB_putc(struct vsb *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: VSB_error
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VSB_error(const struct vsb *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:443,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:444,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 452
    functionName: VSB_finish
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 43
    functionsReached:
    - VSB_SETFLAG
    - assert_VSB_integrity
    - assert_VSB_state
    linkageType: ''
    returnType: int
    signature: int VSB_finish(struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:461,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: VSB_data
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 47
    functionsReached:
    - assert_VSB_integrity
    - assert_VSB_state
    linkageType: ''
    returnType: char
    signature: 'char *

      VSB_data(const struct vsb *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: VSB_len
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 16
    functionsReached:
    - assert_VSB_integrity
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VSB_len(const struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:486,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:487,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:487,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:488,1
    - Dst: VSB_ISDYNSTRUCT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:488,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts:
    - condition: (!VSB_ISDYNAMIC(s))
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    - condition: (!VSB_ISDYNSTRUCT(s))
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: VSB_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 9
    functionsReached:
    - VSB_ISDYNAMIC
    - memset
    - VSB_ISDYNSTRUCT
    - assert
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_fini(struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:496,1
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:497,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:498,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:498,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:499,1
    - Dst: VSB_ISDYNSTRUCT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:499,1
    - Dst: SBFREE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:500,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:501,1
    - Dst: SBFREE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb**
    assertStmts:
    - condition: (VSB_ISDYNSTRUCT(*s))
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    - condition: (VSB_ISDYNAMIC(*s))
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    constantsTouched: []
    func_position:
      end: 504
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 504
    functionName: VSB_destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 47
    functionsReached:
    - SBFREE
    - VSB_ISDYNAMIC
    - AN
    - memset
    - VSB_ISDYNSTRUCT
    - assert
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_destroy(struct vsb **s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:515,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:520,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - s
    - u
    - len
    argTypes:
    - struct vsb*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 525
    functionName: vsb_quote_hex
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vsb_quote_hex(struct vsb *s, const uint8_t *u, size_t len)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:537,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:540,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:545,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:547,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:550,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:552,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:558,1
    - Dst: vsb_quote_hex
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:561,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:563,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:568,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:584,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:587,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:589,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:596,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:602,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:603,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:608,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:609,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:613,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:615,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:617,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:620,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:624,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:627,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:631,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:633,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:635,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:637,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:639,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:644,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:646,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 94
    argCount: 5
    argNames:
    - s
    - pfx
    - v
    - len
    - how
    argTypes:
    - struct vsb*
    - char*
    - void*
    - int
    - int
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    constantsTouched: []
    func_position:
      end: 647
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 647
    functionName: VSB_quote_pfx
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 2
    functionsReached:
    - VSB_putc
    - vsb_quote_hex
    - VSB_printf
    - AZ
    - assert
    - VSB_cat
    - VSB_bcat
    - strlen
    linkageType: ''
    returnType: void
    signature: void VSB_quote_pfx(struct vsb *s, const char *pfx, const void *v, int
      len, int how)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_quote_pfx
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - v
    - len
    - how
    argTypes:
    - struct vsb*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: VSB_quote
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 8
    functionsReached:
    - VSB_quote_pfx
    linkageType: ''
    returnType: void
    signature: void VSB_quote(struct vsb *s, const void *v, int len, int how)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: VSB_indent
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 0
    functionsReached:
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_indent(struct vsb *s, int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:677,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:678,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:679,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:684,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - struct vsb*
    - int
    assertStmts:
    - condition: (s->s_len >= 0)
      pos:
        line_end: 678
        line_start: 678
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    - condition: ((typeof(sz))r <= sz)
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    constantsTouched: []
    func_position:
      end: 692
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 692
    functionName: VSB_tofile
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
    functionUses: 6
    functionsReached:
    - assert
    - write
    - assert_VSB_integrity
    - assert_VSB_state
    linkageType: ''
    returnType: int
    signature: int VSB_tofile(const struct vsb *s, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: VJSN_TYPE_MACRO
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_TYPE_MACRO(UPPER, lower)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:284,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:286,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:287,1
    - Dst: vct_isident1
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:289,1
    - Dst: vct_isident
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (b < e)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: VCT_invalid_name
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    functionUses: 0
    functionsReached:
    - AN
    - assert
    - vct_isident
    - strchr
    - vct_isident1
    linkageType: ''
    returnType: char
    signature: 'char *

      VCT_invalid_name(const char *b, const char *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:313,1
    - Dst: setlocale
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:313,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:316,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:316,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:319,1
    - Dst: tolower
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:319,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:321,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:322,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:323,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:324,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:325,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:326,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:326,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:328,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:328,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:329,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:329,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:331,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:331,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:332,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:332,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:333,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:335,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:335,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:336,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:337,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:337,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:339,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:339,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:340,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:340,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:343,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vct_lowertab[i] == tolower(i))
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz_", "azAZ", 4) == 0)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZay1", "azAZ1", 4) < 0)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("A", "B", 0) == 0)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_casecmp("AZaz_", "azAZ") > 0)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_casecmp("AZaz", "azAZ") == 0)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_casecmp("AZaz", "azAY") > 0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_casecmp("AZay", "azAZ") < 0)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_casecmp("", "") == 0)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz1", "azAZ", 5) > 0)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz1", "azAZ1", 4) == 0)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_casecmp("AZaz", "azAZ_") < 0)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz ", "azAY", 5) > 0)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZay ", "azAZ", 5) < 0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz", "azAZ1", 5) < 0)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_iscrlf(p, p) == 0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz", "azAZ_", 4) == 0)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz", "azAZ", 5) == 0)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    - condition: (vct_caselencmp("AZaz1", "azAY1", 4) > 0)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    constantsTouched: []
    func_position:
      end: 346
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 346
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
    functionUses: 0
    functionsReached:
    - tolower
    - vct_caselencmp
    - AN
    - setlocale
    - vct_iscrlf
    - assert
    - vct_casecmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - txt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: BAIL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAIL(txt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:82,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:87,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:93,1
    - Dst: BAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:96,1
    - Dst: BAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:101,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ipp
    - errtxt
    - sign
    - maxdig
    argTypes:
    - char**
    - char**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 105
    functionName: sf_parse_int
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - AN
    - vct_isows
    - vct_isdigit
    - BAIL
    linkageType: ''
    returnType: int64_t
    signature: int64_t sf_parse_int(const char **ipp, const char **errtxt, int *sign,
      int maxdig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sf_parse_int
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ipp
    - errtxt
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: SF_Parse_Integer
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 1
    functionsReached:
    - sf_parse_int
    linkageType: ''
    returnType: int64_t
    signature: int64_t SF_Parse_Integer(const char **ipp, const char **errtxt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sf_parse_int
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:139,1
    - Dst: BAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:145,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:146,1
    - Dst: BAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:147,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:154,1
    - Dst: BAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:159,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:160,1
    - Dst: BAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:161,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:162,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:165,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - ipp
    - strict
    - errtxt
    argTypes:
    - char**
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 168
    functionName: SF_Parse_Number
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - BAIL
    - vct_isdigit
    - sf_parse_int
    - vct_isows
    linkageType: ''
    returnType: double
    signature: double SF_Parse_Number(const char **ipp, int strict, const char **errtxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:183,1
    - Dst: BAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ipp
    - strict
    - errtxt
    argTypes:
    - char**
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: SF_Parse_Decimal
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - SF_Parse_Number
    - BAIL
    linkageType: ''
    returnType: double
    signature: double SF_Parse_Decimal(const char **ipp, int strict, const char **errtxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:204,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: VNUM
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 3
    functionsReached:
    - nan
    - SF_Parse_Number
    linkageType: ''
    returnType: double
    signature: double VNUM(const char *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:218,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:220,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:223,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:249,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:252,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:256,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - r
    - b
    - e
    argTypes:
    - vtim_dur
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 259
    functionName: VNUM_duration_unit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - nan
    - vct_issp
    - strchr
    linkageType: ''
    returnType: vtim_dur
    signature: vtim_dur VNUM_duration_unit(vtim_dur r, const char *b, const char *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:268,1
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:270,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:273,1
    - Dst: VNUM_duration_unit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: VNUM_duration
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - nan
    - VNUM_duration_unit
    - SF_Parse_Number
    linkageType: ''
    returnType: vtim_dur
    signature: vtim_dur VNUM_duration(const char *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:286,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:287,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:290,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:292,1
    - Dst: modf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:295,1
    - Dst: trunc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:299,1
    - Dst: exp2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:307,1
    - Dst: exp2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:308,1
    - Dst: exp2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:309,1
    - Dst: exp2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:310,1
    - Dst: exp2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:311,1
    - Dst: modf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:313,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:327,1
    - Dst: trunc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:334,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 5
    argNames:
    - r
    - b
    - e
    - rel
    - errtxt
    argTypes:
    - double
    - char*
    - char*
    - uintmax_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 335
    functionName: VNUM_bytes_unit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - AN
    - trunc
    - vct_issp
    - modf
    - exp2
    - strchr
    linkageType: ''
    returnType: int64_t
    signature: "int64_t VNUM_bytes_unit(double r, const char *b, const char *e, uintmax_t
      rel,\n    const char **errtxt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:346,1
    - Dst: VNUM_bytes_unit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:352,1
    - Dst: round
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - p
    - r
    - rel
    argTypes:
    - char*
    - uintmax_t*
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 357
    functionName: VNUM_2bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 1
    functionsReached:
    - round
    - SF_Parse_Number
    - VNUM_bytes_unit
    linkageType: ''
    returnType: char
    signature: 'char *

      VNUM_2bytes(const char *p, uintmax_t *r, uintmax_t rel)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:376,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:377,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:379,1
    - Dst: vct_ishex
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:382,1
    - Dst: vct_ishex
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - b
    - e
    - p
    - base
    argTypes:
    - char*
    - char*
    - char**
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 403
    functionName: vnum_uint
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - vct_ishex
    - AN
    - strchr
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vnum_uint(const char *b, const char *e, const char **p, unsigned
      base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnum_uint
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - e
    - p
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: VNUM_uint
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - vnum_uint
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VNUM_uint(const char *b, const char *e, const char **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnum_uint
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - e
    - p
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: VNUM_hex
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - vnum_uint
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VNUM_hex(const char *b, const char *e, const char **p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:598,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:599,1
    - Dst: sf_parse_int
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:604,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:611,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:614,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:616,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:618,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:620,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:622,1
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:631,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:633,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:634,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:635,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:639,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:642,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:644,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:646,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:648,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:650,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:652,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:654,1
    - Dst: VNUM
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:662,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:664,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:666,1
    - Dst: atof
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:669,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:670,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:671,1
    - Dst: fabs
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:673,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:674,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:682,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:688,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:690,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:692,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:695,1
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:695,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:696,1
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:699,1
    - Dst: fabs
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:701,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:702,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c:708,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 710
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    functionUses: 0
    functionsReached:
    - setbuf
    - sf_parse_int
    - bprintf
    - VNUM
    - VNUM_duration
    - strcmp
    - isnan
    - VNUM_2bytes
    - printf
    - atof
    - SF_Parse_Number
    - fabs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: VJSN_TYPE_MACRO
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_TYPE_MACRO(UPPER, lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - js
    - ','
    - xxx
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: VJSN_EXPECT
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_EXPECT(js, xxx, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:69,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:70,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: vjsn_val_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_val_new(const char *type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:81,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:83,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:85,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:86,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - jsv
    argTypes:
    - struct vjsn_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: vjsn_val_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - vjsn_val_delete
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void vjsn_val_delete(struct vjsn_val *jsv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:97,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:99,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:100,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - jp
    argTypes:
    - struct vjsn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: vjsn_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 2
    functionsReached:
    - FREE_OBJ
    - vjsn_val_delete
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: void
    signature: void vjsn_delete(struct vjsn **jp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: vjsn_skip_ws
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vjsn_skip_ws(struct vjsn *js)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:135,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: vjsn_unumber
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - VJSN_EXPECT
    linkageType: ''
    returnType: unsigned
    signature: unsigned vjsn_unumber(struct vjsn *js)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_unumber
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:160,1
    - Dst: vjsn_unumber
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:169,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - js
    - d
    argTypes:
    - struct vjsn*
    - char**
    assertStmts:
    - condition: (u1 < 0x110000)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: vjsn_unicode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - assert
    - vjsn_unumber
    linkageType: ''
    returnType: void
    signature: void vjsn_unicode(struct vjsn *js, char **d)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:205,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:206,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:207,1
    - Dst: vjsn_unicode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:232,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:241,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - js
    - e
    argTypes:
    - struct vjsn*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 245
    functionName: vjsn_string
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - vjsn_skip_ws
    - AN
    - vjsn_unicode
    - VJSN_EXPECT
    linkageType: ''
    returnType: char
    signature: 'char *

      vjsn_string(struct vjsn *js, char **e)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:253,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:255,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:256,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:258,1
    - Dst: vjsn_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:261,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:264,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:265,1
    - Dst: vjsn_value
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:266,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:269,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:272,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:275,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:276,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:279,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 284
    functionName: vjsn_object
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VJSN_EXPECT
    - vjsn_string
    - vjsn_val_delete
    - vjsn_val_new
    - vjsn_skip_ws
    - vjsn_value
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_object(struct vjsn *js)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:291,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:293,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:294,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:296,1
    - Dst: vjsn_value
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:299,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:302,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:305,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:306,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:307,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:310,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 315
    functionName: vjsn_array
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VJSN_EXPECT
    - vjsn_val_delete
    - vjsn_val_new
    - vjsn_skip_ws
    - vjsn_value
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_array(struct vjsn *js)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:322,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:323,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 364
    functionName: vjsn_number
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - vjsn_val_new
    - AN
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_number(struct vjsn *js)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:371,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:372,1
    - Dst: vjsn_object
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:374,1
    - Dst: vjsn_array
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:376,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:378,1
    - Dst: vjsn_string
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:379,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:382,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:385,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:387,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:389,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:391,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:393,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:395,1
    - Dst: vjsn_number
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 401
    functionName: vjsn_value
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 2
    functionsReached:
    - vjsn_array
    - AN
    - vjsn_number
    - vjsn_object
    - vjsn_string
    - AZ
    - vjsn_val_new
    - strncmp
    - vjsn_skip_ws
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_value(struct vjsn *js)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:410,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:412,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:416,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:417,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:421,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:422,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:423,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:427,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:428,1
    - Dst: vjsn_value
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:432,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:435,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:439,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - from
    - to
    - err
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 446
    functionName: vjsn_parse_end
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - memcpy
    - strchr
    - vjsn_skip_ws
    - vjsn_delete
    - ALLOC_OBJ
    - vjsn_value
    linkageType: ''
    returnType: struct vjsn
    signature: 'struct vjsn *

      vjsn_parse_end(const char *from, const char *to, const char **err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_parse_end
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - err
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: vjsn_parse
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 2
    functionsReached:
    - vjsn_parse_end
    linkageType: ''
    returnType: struct vjsn
    signature: 'struct vjsn *

      vjsn_parse(const char *src, const char **err)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:460,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:461,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:462,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vv
    - key
    argTypes:
    - struct vjsn_val*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: vjsn_child
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - AN
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_child(const struct vjsn_val *vv, const char *key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:474,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:475,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:477,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:478,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:480,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:481,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:483,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:484,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:485,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:487,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:488,1
    - Dst: vjsn_dump_i
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - jsv
    - fo
    - indent
    argTypes:
    - struct vjsn_val*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 490
    functionName: vjsn_dump_i
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vjsn_dump_i
    - printf
    - VTAILQ_FOREACH
    - strlen
    linkageType: ''
    returnType: void
    signature: void vjsn_dump_i(const struct vjsn_val *jsv, FILE *fo, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:495,1
    - Dst: vjsn_dump_i
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jsv
    - fo
    argTypes:
    - struct vjsn_val*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: vjsn_dump_val
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - vjsn_dump_i
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vjsn_dump_val(const struct vjsn_val *jsv, FILE *fo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:503,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:504,1
    - Dst: vjsn_dump_i
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - js
    - fo
    argTypes:
    - struct vjsn*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: vjsn_dump
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - vjsn_dump_i
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vjsn_dump(const struct vjsn *js, FILE *fo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: VJSN_TYPE_MACRO
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_TYPE_MACRO(UPPER, lower)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:933,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:935,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:936,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:938,1
    - Dst: vjsn_dump
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:939,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - j
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 941
    functionName: test_good
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - vjsn_parse
    - vjsn_delete
    - vjsn_dump
    - printf
    linkageType: ''
    returnType: void
    signature: void test_good(const char *j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:949,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:951,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:952,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - j
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 955
    functionName: test_bad
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vjsn_parse
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void test_bad(const char *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_good
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:965,1
    - Dst: test_bad
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:967,1
    - Dst: test_bad
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:973,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 976
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
    functionUses: 0
    functionsReached:
    - printf
    - test_good
    - test_bad
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:64,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:66,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:68,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:72,1
    - Dst: isdigit
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:98,1
    - Dst: VNUM_hex
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:107,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:109,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 3
    argNames:
    - s
    - e
    - res
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (*s == '\\')
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    constantsTouched: []
    func_position:
      end: 120
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 120
    functionName: vav_backslash_txt
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - AN
    - VNUM_hex
    - AZ
    - assert
    - pdiff
    - isdigit
    - strchr
    linkageType: ''
    returnType: int
    signature: int vav_backslash_txt(const char *s, const char *e, char *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vav_backslash_txt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: VAV_BackSlash
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 1
    functionsReached:
    - vav_backslash_txt
    linkageType: ''
    returnType: int
    signature: int VAV_BackSlash(const char *s, char *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:138,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:139,1
    - Dst: vav_backslash_txt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:147,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (e != NULL)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: VAV_BackSlashDecode
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - vav_backslash_txt
    - assert
    - strchr
    - calloc
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      VAV_BackSlashDecode(const char *s, const char *e)'
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:173,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:175,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:180,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:185,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:189,1
    - Dst: vav_backslash_txt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:217,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:226,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:257,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:258,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:261,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:262,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:263,1
    - Dst: VAV_BackSlashDecode
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:267,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:274,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:275,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (argv != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    - condition: (argv[nargv] != NULL)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    - condition: (argv[nargv] != NULL)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    - condition: (argv[nargv] != NULL)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    constantsTouched: []
    func_position:
      end: 282
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 282
    functionName: VAV_ParseTxt
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 1
    functionsReached:
    - isspace
    - AN
    - malloc
    - memcpy
    - VAV_BackSlashDecode
    - strdup
    - vav_backslash_txt
    - assert
    - strchr
    - realloc
    - calloc
    linkageType: ''
    returnType: char
    signature: 'char **

      VAV_ParseTxt(const char *b, const char *e, int *argc, int flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VAV_ParseTxt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: VAV_Parse
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 1
    functionsReached:
    - VAV_ParseTxt
    linkageType: ''
    returnType: char
    signature: 'char **

      VAV_Parse(const char *s, int *argc, int flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:297,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: VAV_Free
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void VAV_Free(char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:310,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:312,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: VAV_Print
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void VAV_Print(char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:322,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:323,1
    - Dst: VAV_Print
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: Test
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - printf
    - VAV_Parse
    - VAV_Print
    linkageType: ''
    returnType: void
    signature: void Test(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - info
    - args
    argTypes:
    - FILE*
    - struct printf_info*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: printf_v
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int printf_v(FILE *stream, const struct printf_info *info,\n    const
      void *const *args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - n
    - argtypes
    - size
    argTypes:
    - struct printf_info*
    - size_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: printf_v_info
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int printf_v_info(const struct printf_info *info, size_t n, int *argtypes,\n
      \   int *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_printf_render_std
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:356,1
    - Dst: register_printf_specifier
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:358,1
    - Dst: fgets
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:363,1
    - Dst: Test
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - fgets
    - register_printf_render_std
    - Test
    - register_printf_specifier
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:432,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:434,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:436,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:437,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:438,1
    - Dst: VAV_ParseTxt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:439,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:440,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:442,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:447,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:456,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:458,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:468,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 479
    functionName: test_run
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - AN
    - VAV_ParseTxt
    - malloc
    - memcpy
    - strcmp
    - printf
    - strlen
    - free
    linkageType: ''
    returnType: char
    signature: 'char **

      test_run(const struct test_case *tc, int *ret)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_run
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:491,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    functionUses: 0
    functionsReached:
    - VAV_Free
    - test_run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: ZERO_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZERO_OBJ(to, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: INIT_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_OBJ(to, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: FINI_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FINI_OBJ(to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: ALLOC_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_OBJ(to, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - extra_size
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: ALLOC_OBJ_EXTRA
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_OBJ_EXTRA(to, extra_size, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - fld
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: SIZEOF_FLEX_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZEOF_FLEX_OBJ(to, fld, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - fld
    - ','
    - len
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ALLOC_FLEX_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_FLEX_OBJ(to, fld, len, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: FREE_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_OBJ(to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: VALID_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_OBJ(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: CHECK_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OBJ(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: CHECK_OBJ_NOTNULL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 128
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OBJ_NOTNULL(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: CHECK_OBJ_ORNULL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OBJ_ORNULL(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: CAST_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_OBJ(to, from, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: CAST_OBJ_NOTNULL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 106
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_OBJ_NOTNULL(to, from, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - pfrom
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: TAKE_OBJ_NOTNULL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAKE_OBJ_NOTNULL(to, pfrom, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: REPLACE
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPLACE(ptr, val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unw_getcontext
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:67,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:69,1
    - Dst: unw_init_local
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:73,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:75,1
    - Dst: unw_step
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:79,1
    - Dst: unw_get_reg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:82,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:83,1
    - Dst: unw_get_reg
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:86,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:87,1
    - Dst: unw_get_proc_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:90,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:91,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 98
    functionName: vbt_unwind
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c
    functionUses: 0
    functionsReached:
    - unw_get_proc_name
    - VSB_putc
    - unw_init_local
    - unw_get_reg
    - VSB_printf
    - unw_step
    - unw_getcontext
    linkageType: ''
    returnType: int
    signature: int vbt_unwind(struct vsb *vsb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:114,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:116,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:120,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:121,1
    - Dst: backtrace_symbols
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:122,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:124,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:127,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:127,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:128,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:134,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:136,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 139
    functionName: vbt_execinfo
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c
    functionUses: 0
    functionsReached:
    - bprintf
    - VSB_printf
    - backtrace_symbols
    - VSB_cat
    - memcmp
    - strlen
    - backtrace
    - free
    linkageType: ''
    returnType: void
    signature: void vbt_execinfo(struct vsb *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:146,1
    - Dst: vbt_unwind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:149,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:152,1
    - Dst: vbt_execinfo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: VBT_format
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c
    functionUses: 0
    functionsReached:
    - vbt_unwind
    - VSB_cat
    - VALID_OBJ
    - vbt_execinfo
    linkageType: ''
    returnType: void
    signature: void VBT_format(struct vsb *vsb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:166,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:169,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:170,1
    - Dst: VBT_format
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:171,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - len
    - buf
    argTypes:
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: VBT_dump
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c
    functionUses: 2
    functionsReached:
    - VSB_indent
    - VSB_printf
    - VSB_init
    - VBT_format
    linkageType: ''
    returnType: int
    signature: int VBT_dump(size_t len, char buf[len])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:68,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:69,1
    - Dst: getnameinfo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:70,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:77,1
    - Dst: gai_strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:77,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:79,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:79,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:81,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:83,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - sa
    - l
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - void*
    - socklen_t
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts:
    - condition: (abuf == NULL || alen > 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    - condition: (pbuf == NULL || plen > 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: vtcp_sa_to_ascii
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - fprintf
    - VAS_errtxt
    - assert
    - strncmp
    - gai_strerror
    - getnameinfo
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void vtcp_sa_to_ascii(const void *sa, socklen_t l, char *abuf, unsigned
      alen,\n    char *pbuf, unsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:103,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:104,1
    - Dst: vtcp_sa_to_ascii
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - addr
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - struct suckaddr*
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: VTCP_name
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 9
    functionsReached:
    - AN
    - VSA_Get_Sockaddr
    - vtcp_sa_to_ascii
    linkageType: ''
    returnType: void
    signature: "void VTCP_name(const struct suckaddr *addr, char *abuf, unsigned alen,\n
      \   char *pbuf, unsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:115,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:116,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: VTCP_my_suckaddr
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - malloc
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VTCP_my_suckaddr(int sock)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:127,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sock
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - int
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: VTCP_myname
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 5
    functionsReached:
    - VSA_getsockname
    - VTCP_name
    linkageType: ''
    returnType: void
    signature: void VTCP_myname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned
      plen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSA_getpeername
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:139,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:141,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:143,1
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - sock
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - int
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: VTCP_hisname
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 2
    functionsReached:
    - snprintf
    - VTCP_name
    - VSA_getpeername
    linkageType: ''
    returnType: void
    signature: void VTCP_hisname(int sock, char *abuf, unsigned alen, char *pbuf,
      unsigned plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:158,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:159,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: VTCP_filter_http
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - bprintf
    - memset
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_filter_http(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: VTCP_filter_http
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_filter_http(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: VTCP_filter_http
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VTCP_filter_http(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 207
    functionName: VTCP_fastopen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_fastopen(int sock, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:227,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: VTCP_blocking
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 4
    functionsReached:
    - VTCP_Assert
    - ioctl
    linkageType: ''
    returnType: void
    signature: void VTCP_blocking(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:237,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: VTCP_nonblocking
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 3
    functionsReached:
    - VTCP_Assert
    - ioctl
    linkageType: ''
    returnType: void
    signature: void VTCP_nonblocking(int sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:259,1
    - Dst: getsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:259,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:264,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: VTCP_connected
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 2
    functionsReached:
    - VTCP_blocking
    - getsockopt
    - closefd
    - AZ
    linkageType: ''
    returnType: int
    signature: int VTCP_connected(int s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:284,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:284,1
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:285,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:286,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:287,1
    - Dst: socket
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:289,1
    - Dst: VTCP_nonblocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:295,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:298,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:298,1
    - Dst: connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:300,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:302,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:306,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:318,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:323,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:327,1
    - Dst: VTCP_connected
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:332,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - name
    - msec
    argTypes:
    - struct suckaddr*
    - int
    assertStmts:
    - condition: (msec > 0)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    constantsTouched: []
    func_position:
      end: 333
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 333
    functionName: VTCP_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - AN
    - connect
    - VTCP_connected
    - VTCP_nonblocking
    - VSA_Sane
    - AZ
    - assert
    - poll
    - setsockopt
    - VTCP_blocking
    - socket
    - VSA_Get_Sockaddr
    - closefd
    linkageType: ''
    returnType: int
    signature: int VTCP_connect(const struct suckaddr *name, int msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:345,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: VTCP_close
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 16
    functionsReached:
    - VTCP_Assert
    - close
    linkageType: ''
    returnType: void
    signature: void VTCP_close(int *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_timeval_sock
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:354,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:362,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - seconds
    argTypes:
    - int
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: VTCP_set_read_timeout
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 2
    functionsReached:
    - VTCP_Assert
    - VTIM_timeval_sock
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void VTCP_set_read_timeout(int s, vtim_dur seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:383,1
    - Dst: VTCP_connect
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:386,1
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: vtcp_open_callback
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - VTCP_connect
    - floor
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vtcp_open_callback(void *priv, const struct suckaddr *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:402,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:403,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:404,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:408,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - addr
    - def_port
    - timeout
    - errp
    argTypes:
    - char*
    - char*
    - vtim_dur
    - char**
    assertStmts:
    - condition: (timeout >= 0)
      pos:
        line_end: 402
        line_start: 402
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    constantsTouched: []
    func_position:
      end: 413
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 413
    functionName: VTCP_open
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 4
    functionsReached:
    - AN
    - INIT_OBJ
    - strerror
    - assert
    - VSS_resolver
    linkageType: ''
    returnType: int
    signature: "int VTCP_open(const char *addr, const char *def_port, vtim_dur timeout,\n
      \   const char **errp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:434,1
    - Dst: socket
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:435,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:442,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:446,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:454,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:458,1
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:463,1
    - Dst: bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:464,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:468,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - sa
    - errp
    argTypes:
    - struct suckaddr*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 473
    functionName: VTCP_bind
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 2
    functionsReached:
    - setsockopt
    - socket
    - bind
    - VSA_Get_Sockaddr
    - VSA_Get_Proto
    - closefd
    linkageType: ''
    returnType: int
    signature: int VTCP_bind(const struct suckaddr *sa, const char **errp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_bind
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:488,1
    - Dst: listen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:490,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sa
    - depth
    - errp
    argTypes:
    - struct suckaddr*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 500
    functionName: VTCP_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - listen
    - closefd
    - VTCP_bind
    linkageType: ''
    returnType: int
    signature: int VTCP_listen(const struct suckaddr *sa, int depth, const char **errp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_listen
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:515,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: vtcp_lo_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - AN
    - VTCP_listen
    linkageType: ''
    returnType: void
    signature: void vtcp_lo_cb(void *priv, const struct suckaddr *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:531,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - addr
    - def_port
    - depth
    - errp
    argTypes:
    - char*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 539
    functionName: VTCP_listen_on
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 8
    functionsReached:
    - VSS_resolver
    - AN
    linkageType: ''
    returnType: int
    signature: "int VTCP_listen_on(const char *addr, const char *def_port, int depth,\n
      \   const char **errp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:551,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:553,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - linger
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: VTCP_linger
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - VTCP_Assert
    - memset
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_linger(int sock, int linger)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:567,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts:
    - condition: (sock > 0)
      pos:
        line_end: 566
        line_start: 566
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    constantsTouched: []
    func_position:
      end: 575
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 575
    functionName: VTCP_check_hup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - assert
    - poll
    linkageType: ''
    returnType: int
    signature: int VTCP_check_hup(int sock)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 23
    argCount: 1
    argNames:
    - a
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 632
    functionName: VTCP_Check
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VTCP_Check(ssize_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:648,1
    - Dst: VTIM_poll_tmo
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:648,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:652,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - fd
    - ptr
    - len
    - tmo
    argTypes:
    - int
    - void*
    - size_t
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 655
    functionName: VTCP_read
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    functionUses: 0
    functionsReached:
    - VTCP_Assert
    - read
    - VTIM_poll_tmo
    - poll
    linkageType: ''
    returnType: int
    signature: int VTCP_read(int fd, void *ptr, size_t len, vtim_dur tmo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: ROW
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROW(b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: A
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: A(b, n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (u != UINT_MAX)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: parent
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned parent(const struct vbh *bh, unsigned u)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:155,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:156,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:158,1
    - Dst: parent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:158,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:159,1
    - Dst: parent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - bh
    - u
    - a
    - b
    argTypes:
    - struct vbh*
    - unsigned
    - unsigned*
    - unsigned*
    assertStmts:
    - condition: (*a > 0)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (parent(bh, *a) == u)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (*b > 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (parent(bh, *b) == u)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 162
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 162
    functionName: child
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - assert
    - parent
    linkageType: ''
    returnType: void
    signature: void child(const struct vbh *bh, unsigned u, unsigned *a, unsigned
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: parent
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned parent(const struct vbh *bh, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - bh
    - u
    - a
    - b
    argTypes:
    - struct vbh*
    - unsigned
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: child
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void child(const struct vbh *bh, unsigned u, unsigned *a, unsigned
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROW
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:194,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:196,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:203,1
    - Dst: ROW
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:203,1
    - Dst: ROW
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:204,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:204,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:205,1
    - Dst: ROW
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts:
    - condition: (ROW(bh, bh->length) == NULL)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (bh->array != NULL)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (ROW(bh, bh->length))
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: vbh_addrow
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - assert
    - malloc
    - ROW
    - realloc
    linkageType: ''
    returnType: void
    signature: void vbh_addrow(struct vbh *bh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:215,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:220,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:222,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:226,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:236,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:237,1
    - Dst: vbh_addrow
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:238,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - priv
    - cmp_f
    - update_f
    argTypes:
    - void*
    - vbh_cmp_t*
    - vbh_update_t*
    assertStmts:
    - condition: (bh->page_size <= (sizeof(**bh->array) * ROW_WIDTH))
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (bh->array != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: VBH_new
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 1
    functionsReached:
    - getpagesize
    - vbh_addrow
    - ALLOC_OBJ
    - AZ
    - assert
    - A
    - calloc
    linkageType: ''
    returnType: struct vbh
    signature: 'struct vbh *

      VBH_new(void *priv, vbh_cmp_t *cmp_f, vbh_update_t *update_f)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:250,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:251,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:251,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:254,1
    - Dst: ROW
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:254,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:255,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bhp
    argTypes:
    - struct vbh**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: VBH_destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 1
    functionsReached:
    - VBH_root
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - AZ
    - ROW
    - free
    linkageType: ''
    returnType: void
    signature: void VBH_destroy(struct vbh **bhp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:262,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:264,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:264,1
    - Dst: struct vbh*::update
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:266,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: vbh_update
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - assert
    - struct vbh*::update
    - CHECK_OBJ_NOTNULL
    - A
    linkageType: ''
    returnType: void
    signature: void vbh_update(const struct vbh *bh, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:274,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:276,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:276,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:277,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:278,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:278,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:279,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:280,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:280,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:281,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:282,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - bh
    - u
    - v
    argTypes:
    - struct vbh*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (u < bh->next)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (v < bh->next)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, v) != NULL)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: binhead_swap
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - assert
    - vbh_update
    - CHECK_OBJ_NOTNULL
    - A
    linkageType: ''
    returnType: void
    signature: void binhead_swap(const struct vbh *bh, unsigned u, unsigned v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:291,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:293,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:293,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:296,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:297,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:297,1
    - Dst: parent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:298,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:299,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:300,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:301,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:301,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:302,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:302,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:302,1
    - Dst: binhead_swap
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (v < u)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (v < bh->next)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, v) != NULL)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 308
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 308
    functionName: vbh_trickleup
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - A
    - assert
    - struct vbh*::cmp
    - binhead_swap
    - parent
    linkageType: ''
    returnType: unsigned
    signature: unsigned vbh_trickleup(const struct vbh *bh, unsigned u)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:315,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:316,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:317,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:317,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:320,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:321,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:321,1
    - Dst: child
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:330,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:330,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:332,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:332,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:333,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:333,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:337,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:337,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:338,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:338,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:338,1
    - Dst: binhead_swap
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (u < bh->next)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (v1 <= v2)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (v1 < bh->next)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, v1) != NULL)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (v1 > 0)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, v2) != NULL)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (v2 > 0)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, v1) != NULL)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: vbh_trickledown
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - child
    - A
    - assert
    - struct vbh*::cmp
    - binhead_swap
    linkageType: ''
    returnType: unsigned
    signature: unsigned vbh_trickledown(const struct vbh *bh, unsigned u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:350,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:351,1
    - Dst: vbh_addrow
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:353,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:354,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:356,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:357,1
    - Dst: vbh_trickleup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:358,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:359,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:360,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - bh
    - p
    argTypes:
    - struct vbh*
    - void*
    assertStmts:
    - condition: (bh->length > bh->next)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (bh->length >= bh->next)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: VBH_insert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 2
    functionsReached:
    - vbh_addrow
    - CHECK_OBJ_NOTNULL
    - vbh_update
    - vbh_trickleup
    - A
    - assert
    linkageType: ''
    returnType: void
    signature: void VBH_insert(struct vbh *bh, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:371,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:372,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:372,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:372,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: chk
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 1
    functionsReached:
    - struct vbh*::cmp
    - A
    - parent
    - AZ
    linkageType: ''
    returnType: void
    signature: void chk(const struct vbh *bh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:381,1
    - Dst: chk
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:383,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: VBH_root
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 3
    functionsReached:
    - chk
    - CHECK_OBJ_NOTNULL
    - A
    linkageType: ''
    returnType: void
    signature: 'void *

      VBH_root(const struct vbh *bh)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:416,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:417,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:418,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:419,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:420,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:420,1
    - Dst: struct vbh*::update
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:421,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:421,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:423,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:426,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:426,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:427,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:428,1
    - Dst: vbh_trickleup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:429,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:430,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:431,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:432,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:432,1
    - Dst: vbh_trickledown
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:433,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:434,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:435,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:436,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:436,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:444,1
    - Dst: ROW
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:444,1
    - Dst: ROW
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - bh
    - idx
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (bh->next > ROOT_IDX)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 448
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 448
    functionName: VBH_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vbh_update
    - vbh_trickleup
    - A
    - assert
    - vbh_trickledown
    - struct vbh*::update
    - ROW
    - free
    linkageType: ''
    returnType: void
    signature: void VBH_delete(struct vbh *bh, unsigned idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:458,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:459,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:460,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:461,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:462,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:462,1
    - Dst: vbh_trickleup
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:463,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:464,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:465,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:466,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:466,1
    - Dst: vbh_trickledown
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:467,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:468,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:469,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:470,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - bh
    - idx
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (idx > 0)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (bh->next > ROOT_IDX)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 471
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 471
    functionName: VBH_reorder
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vbh_trickleup
    - A
    - assert
    - vbh_trickledown
    linkageType: ''
    returnType: void
    signature: void VBH_reorder(const struct vbh *bh, unsigned idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:502,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 129
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmp(void *priv, const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - a
    - u
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: update
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 7
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void update(void *priv, void *a, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parent
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:525,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:526,1
    - Dst: A
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:527,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts:
    - condition: (fa->key >= fb->key)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 530
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 530
    functionName: chk2
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - assert
    - parent
    - A
    linkageType: ''
    returnType: void
    signature: void chk2(struct vbh *bh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: vrnd_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vrnd_lock(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VRND_SeedAll
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:545,1
    - Dst: VRND_SeedTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:546,1
    - Dst: VBH_new
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:550,1
    - Dst: child
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:552,1
    - Dst: child
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:553,1
    - Dst: child
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:554,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:562,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:563,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:564,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:567,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:569,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:570,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:571,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:573,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:576,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:577,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:578,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:584,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:585,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:588,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:589,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:590,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:594,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:596,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:598,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:602,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:603,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:604,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:605,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:607,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:609,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:611,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:614,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:616,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:617,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:619,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:620,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:621,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:624,1
    - Dst: VBH_reorder
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:625,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:628,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:629,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:630,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:631,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:632,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:633,1
    - Dst: chk2
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:636,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:639,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:641,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:642,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:643,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:644,1
    - Dst: VBH_destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:646,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fp->key <= lr)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (fp->key >= lr)
      pos:
        line_end: 604
        line_start: 604
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (ff[u] != NULL)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (ff[n] != NULL)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (ff[v] != NULL)
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (fp->idx == 1)
      pos:
        line_end: 577
        line_start: 577
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (fp->key <= lr)
      pos:
        line_end: 583
        line_start: 583
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (fp->idx == 1)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (fp->idx == 1)
      pos:
        line_end: 603
        line_start: 603
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - condition: (ff[v]->idx == VBH_NOIDX)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    constantsTouched: []
    func_position:
      end: 649
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 649
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    functionUses: 0
    functionsReached:
    - chk2
    - VBH_reorder
    - VBH_destroy
    - VRND_SeedTestable
    - VBH_root
    - fprintf
    - AN
    - VBH_new
    - VRND_RandomTestable
    - VBH_delete
    - child
    - FREE_OBJ
    - VBH_insert
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VRND_SeedAll
    - ALLOC_OBJ
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: vbe16dec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t vbe16dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: vbe32dec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t vbe32dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:60,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: vbe64dec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached:
    - vbe32dec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t vbe64dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: vle16dec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t vle16dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: vle32dec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t vle32dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vle32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:87,1
    - Dst: vle32dec
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: vle64dec
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached:
    - vle32dec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t vle64dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: vbe16enc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vbe16enc(void *pp, uint16_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: vbe32enc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vbe32enc(void *pp, uint32_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:116,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: vbe64enc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached:
    - vbe32enc
    linkageType: ''
    returnType: void
    signature: void vbe64enc(void *pp, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: vle16enc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vle16enc(void *pp, uint16_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: vle32enc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vle32enc(void *pp, uint32_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vle32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:146,1
    - Dst: vle32enc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: vle64enc
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
    functionUses: 0
    functionsReached:
    - vle32enc
    linkageType: ''
    returnType: void
    signature: void vle64enc(void *pp, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: vct_is
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vct_is(int x, uint16_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: vct_isows
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isows(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: vct_issp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_issp(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: vct_ishex
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_ishex(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: vct_islws
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_islws(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: vct_isctl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isctl(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: vct_isspace
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isspace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: vct_isdigit
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isdigit(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: vct_isalpha
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isalpha(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: vct_islower
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_islower(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: vct_isupper
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isupper(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: vct_isalnum
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isalnum(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: vct_isbase64
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isbase64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: vct_issep
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_issep(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: vct_issepctl
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_issepctl(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: vct_isident1
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isident1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: vct_isident
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isident(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: vct_isxmlnamestart
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isxmlnamestart(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: vct_isxmlname
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isxmlname(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: vct_istchar
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_istchar(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: vct_ishdrval
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_ishdrval(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (p <= end)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: vct_iscrlf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vct_iscrlf(const char* p, const char* end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: vct_skipcrlf
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 1
    functionsReached:
    - vct_iscrlf
    linkageType: ''
    returnType: char
    signature: 'char *

      vct_skipcrlf(char* p, const char* end)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: vct_casecmp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vct_casecmp(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - sz
    argTypes:
    - void*
    - void*
    - ssize_t
    assertStmts:
    - condition: (sz >= 0)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: vct_caselencmp
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vct_caselencmp(const void *a, const void *b, ssize_t sz)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:63,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:68,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - func
    - priv
    - bufsize
    argTypes:
    - vlu_f*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: VLU_New
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    functionUses: 1
    functionsReached:
    - FREE_OBJ
    - ALLOC_OBJ
    - malloc
    linkageType: ''
    returnType: struct vlu
    signature: 'struct vlu *

      VLU_New(vlu_f *func, void *priv, unsigned bufsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct vlu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: VLU_Reset
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VLU_Reset(struct vlu *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:87,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:88,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lp
    argTypes:
    - struct vlu**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: VLU_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    functionUses: 1
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: void
    signature: void VLU_Destroy(struct vlu **lp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct vlu*::func
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:108,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:113,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:114,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct vlu*
    assertStmts:
    - condition: (q != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    constantsTouched: []
    func_position:
      end: 121
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 121
    functionName: LineUpProcess
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    - struct vlu*::func
    - strchr
    linkageType: ''
    returnType: int
    signature: int LineUpProcess(struct vlu *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:129,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:130,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:132,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:137,1
    - Dst: LineUpProcess
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - l
    - fd
    argTypes:
    - struct vlu*
    - int
    assertStmts:
    - condition: ((size_t)i <= sz)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    - condition: (l->bufl >= l->bufp)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: VLU_Fd
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    functionUses: 0
    functionsReached:
    - assert
    - read
    - CHECK_OBJ_NOTNULL
    - LineUpProcess
    linkageType: ''
    returnType: int
    signature: int VLU_Fd(struct vlu *l, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLU_New
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:148,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:149,1
    - Dst: VLU_Fd
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:151,1
    - Dst: VLU_Destroy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - func
    - priv
    - bufsize
    argTypes:
    - int
    - vlu_f*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: VLU_File
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    functionUses: 1
    functionsReached:
    - VLU_Fd
    - AN
    - VLU_Destroy
    - VLU_New
    linkageType: ''
    returnType: int
    signature: int VLU_File(int fd, vlu_f *func, void *priv, unsigned bufsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:164,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:165,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:170,1
    - Dst: LineUpProcess
      Src: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - l
    - ptr
    - len
    argTypes:
    - struct vlu*
    - char*
    - int
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    constantsTouched: []
    func_position:
      end: 179
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 179
    functionName: VLU_Feed
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    functionUses: 1
    functionsReached:
    - AN
    - memcpy
    - CHECK_OBJ_NOTNULL
    - assert
    - LineUpProcess
    linkageType: ''
    returnType: int
    signature: int VLU_Feed(struct vlu *l, const char *ptr, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: VTCP_Assert
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTCP_Assert(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: VSIG_SIGNAL
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vapi/vsig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSIG_SIGNAL(UPPER, lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: WCOREDUMP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vapi/vsig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WCOREDUMP(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: WCOREDUMP
    functionSourceFile: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vapi/vsig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WCOREDUMP(s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:74,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:76,1
    - Dst: fopen
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:79,1
    - Dst: VSL_WriteOpen
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:81,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:83,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:84,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - append
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: openout
    functionSourceFile: /src/vinyl-cache/bin/vinyllog/vinyllog.c
    functionUses: 2
    functionsReached:
    - AN
    - VUT_Error
    - strcmp
    - strerror
    - VSL_WriteOpen
    - VSL_Error
    - fopen
    linkageType: ''
    returnType: void
    signature: void openout(int append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:92,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:93,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:94,1
    - Dst: fclose
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:95,1
    - Dst: openout
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:96,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct VUT*
    assertStmts:
    - condition: (v == vut)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog.c
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: rotateout
    functionSourceFile: /src/vinyl-cache/bin/vinyllog/vinyllog.c
    functionUses: 0
    functionsReached:
    - assert
    - openout
    - AN
    - fclose
    linkageType: ''
    returnType: void
    signature: void rotateout(struct VUT *v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:105,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:106,1
    - Dst: fflush
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - struct VUT*
    assertStmts:
    - condition: (v == vut)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog.c
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: flushout
    functionSourceFile: /src/vinyl-cache/bin/vinyllog/vinyllog.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - fflush
    linkageType: ''
    returnType: void
    signature: void flushout(struct VUT *v)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: VUT_InitProg
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:117,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:118,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:119,1
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:121,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:133,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:140,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:143,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:144,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:149,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:152,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:154,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:155,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:166,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:166,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:167,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:167,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:168,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:168,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:169,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:169,1
    - Dst: openout
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:173,1
    - Dst: VUT_Setup
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:180,1
    - Dst: VUT_Main
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:181,1
    - Dst: VUT_Fini
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:182,1
    - Dst: flushout
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:184,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyllog/vinyllog.c:186,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 187
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyllog/vinyllog.c
    functionUses: 0
    functionsReached:
    - VUT_Setup
    - AN
    - VUT_Fini
    - VUT_Arg
    - memset
    - REPLACE
    - VUT_Error
    - exit
    - strcmp
    - VUT_InitProg
    - getopt
    - flushout
    - openout
    - VUT_Main
    - VUT_Usage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - status
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: RL_EXIT
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RL_EXIT(status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:94,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:95,1
    - Dst: perror
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:98,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sock
    - s
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: cli_write
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - perror
    - write
    - strlen
    - RL_EXIT
    linkageType: ''
    returnType: void
    signature: void cli_write(int sock, const char *s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_open
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:118,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:120,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:124,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:127,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:128,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:129,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:132,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:134,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:135,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:136,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:137,1
    - Dst: VCLI_AuthResponse
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:140,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:141,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:142,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:144,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:145,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:146,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:147,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:150,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:151,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:152,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:155,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:157,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:158,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:159,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:160,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:161,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:162,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - T_arg
    - S_arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 168
    functionName: cli_sock
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strerror
    - open
    - VTCP_open
    - VCLI_AuthResponse
    - VCLI_ReadResult
    - free
    - cli_write
    - strstr
    - closefd
    linkageType: ''
    returnType: int
    signature: int cli_sock(const char *T_arg, const char *S_arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:176,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:179,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:180,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:183,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:184,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:188,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:188,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:190,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:193,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:195,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:197,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:199,1
    - Dst: fflush
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - enum pass_mode_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 202
    functionName: pass_answer
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    - VCLI_ReadResult
    - printf
    - strlen
    - RL_EXIT
    - free
    linkageType: ''
    returnType: unsigned
    signature: unsigned pass_answer(int fd, enum pass_mode_e mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:213,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:214,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:216,1
    - Dst: pass_answer
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:217,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:218,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:220,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:222,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - sock
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: v_noreturn_::do_args
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - pass_answer
    - cli_write
    - closefd
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      do_args(int sock, int argc, char * const *argv)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:233,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:234,1
    - Dst: add_history
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:236,1
    - Dst: rl_callback_handler_install
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:237,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - l
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: send_line
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - cli_write
    - add_history
    - RL_EXIT
    - rl_callback_handler_install
    linkageType: ''
    returnType: void
    signature: void send_line(char *l)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:254,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:255,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:257,1
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:260,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:261,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:264,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:265,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:266,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:266,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:267,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:268,1
    - Dst: vjsn_is_number
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:268,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:269,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:270,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:270,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:271,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:272,1
    - Dst: vjsn_is_number
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:272,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:273,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:276,1
    - Dst: vjsn_is_object
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:276,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:277,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:278,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:279,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:280,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:280,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:281,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:281,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:282,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:282,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:283,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - text
    - state
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (vjsn_is_array(jsn_cmds->value))
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    - condition: (vjsn_is_object(jv))
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    - condition: (vjsn_is_number(jv))
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    - condition: (vjsn_is_number(jv))
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    - condition: (vjsn_is_string(jv2))
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    - condition: (!strcmp(jv2->name, "request"))
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    - condition: (vjsn_is_array(jv))
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    constantsTouched: []
    func_position:
      end: 287
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 287
    functionName: command_generator
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - vjsn_is_number
    - VTAILQ_FIRST
    - AN
    - strdup
    - vjsn_is_object
    - vjsn_is_array
    - assert
    - vjsn_is_string
    - strcmp
    - vjsn_parse
    - strncmp
    - VCLI_ReadResult
    - VTAILQ_NEXT
    - vjsn_delete
    - cli_write
    - strlen
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      command_generator (const char *text, int state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rl_completion_matches
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: vinyladm_completion
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - rl_completion_matches
    linkageType: ''
    returnType: char
    signature: 'char **

      vinyladm_completion (const char *text, int start, int end)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rl_callback_handler_install
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:313,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:321,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:327,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:330,1
    - Dst: pass_answer
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:331,1
    - Dst: rl_forced_update_display
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:332,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:334,1
    - Dst: rl_callback_read_char
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts:
    - condition: (i > 0)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    constantsTouched: []
    func_position:
      end: 340
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 340
    functionName: v_noreturn_::interactive
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - rl_callback_read_char
    - rl_forced_update_display
    - assert
    - rl_callback_handler_install
    - pass_answer
    - poll
    - printf
    - cli_write
    - RL_EXIT
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      interactive(int sock)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:359,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:363,1
    - Dst: pass_answer
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:365,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:368,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:371,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:374,1
    - Dst: RL_EXIT
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:377,1
    - Dst: cli_write
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts:
    - condition: (i > 0)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    constantsTouched: []
    func_position:
      end: 385
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 385
    functionName: v_noreturn_::pass
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - assert
    - pass_answer
    - poll
    - cli_write
    - read
    - RL_EXIT
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      pass(int sock)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:391,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:394,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:396,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 398
    functionName: v_noreturn_::usage
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      usage(int status)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSM_New
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:409,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:410,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:411,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:412,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:413,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:414,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:414,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:415,1
    - Dst: VSM_Dup
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:419,1
    - Dst: VSM_Dup
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:420,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:421,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:424,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:430,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:431,1
    - Dst: cli_sock
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:433,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:438,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - n_arg
    - t_arg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: n_arg_sock
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - VSM_New
    - VSM_Error
    - VSM_Dup
    - cli_sock
    - VSM_Arg
    - strchr
    - VSM_Destroy
    - VSM_Attach
    - free
    linkageType: ''
    returnType: int
    signature: int n_arg_sock(const char *n_arg, const char *t_arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:448,1
    - Dst: strtod
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:449,1
    - Dst: isfinite
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:451,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - t_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 456
    functionName: t_arg_timeout
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - strtod
    - AN
    - isfinite
    - fprintf
    linkageType: ''
    returnType: int
    signature: int t_arg_timeout(const char *t_arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:470,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:471,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:472,1
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:482,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:486,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:503,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:504,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:505,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:506,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:509,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:510,1
    - Dst: VIN_n_Arg
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:512,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:513,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:514,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:515,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:516,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:518,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:527,1
    - Dst: cli_sock
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:528,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:531,1
    - Dst: n_arg_sock
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:532,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:535,1
    - Dst: t_arg_timeout
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:537,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:538,1
    - Dst: VSIG_Arm_int
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:541,1
    - Dst: VSIG_Arm_term
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:542,1
    - Dst: do_args
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:543,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:544,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:544,1
    - Dst: isatty
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:547,1
    - Dst: interactive
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:548,1
    - Dst: pass
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:550,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:551,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyladm/vinyladm.c:551,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 552
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    functionUses: 0
    functionsReached:
    - do_args
    - fprintf
    - AN
    - exit
    - pass
    - cli_sock
    - printf
    - t_arg_timeout
    - NEEDLESS
    - strcmp
    - VSIG_Arm_int
    - interactive
    - isatty
    - free
    - n_arg_sock
    - usage
    - getopt
    - VIN_n_Arg
    - VSIG_Arm_term
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSMW_Allocf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:62,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:63,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - category
    - ident
    argTypes:
    - void*
    - ssize_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: mgt_SHM_static_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c
    functionUses: 0
    functionsReached:
    - AN
    - VSMW_Allocf
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void mgt_SHM_static_alloc(const void *ptr, ssize_t size,\n    const
      char *category, const char *ident)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:76,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:78,1
    - Dst: VSMW_Destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:79,1
    - Dst: MGT_DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:80,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:81,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:82,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:82,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:83,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:83,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: mgt_shm_atexit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c
    functionUses: 0
    functionsReached:
    - MGT_DO_DEBUG
    - getpid
    - AZ
    - VSMW_Destroy
    - VJ_master
    - system
    linkageType: ''
    returnType: void
    signature: void mgt_shm_atexit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:97,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:98,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:98,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:99,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:100,1
    - Dst: mkdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:100,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:101,1
    - Dst: VJ_fix_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:102,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:103,1
    - Dst: VSMW_New
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:104,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:105,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:110,1
    - Dst: atexit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: mgt_SHM_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c
    functionUses: 0
    functionsReached:
    - AN
    - VSMW_New
    - mkdir
    - AZ
    - VJ_master
    - atexit
    - system
    - open
    - VJ_fix_fd
    linkageType: ''
    returnType: void
    signature: void mgt_SHM_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:117,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:118,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:118,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:119,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:120,1
    - Dst: mkdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:120,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:122,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:123,1
    - Dst: VJ_fix_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:124,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:125,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:127,1
    - Dst: VSMW_Allocf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:129,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:131,1
    - Dst: VSMW_Allocf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:135,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (heritage.vsm_fd >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: mgt_SHM_ChildNew
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c
    functionUses: 0
    functionsReached:
    - AN
    - mkdir
    - AZ
    - assert
    - VJ_master
    - MCH_Fd_Inherit
    - VSMW_Allocf
    - system
    - open
    - VJ_fix_fd
    linkageType: ''
    returnType: void
    signature: void mgt_SHM_ChildNew(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:144,1
    - Dst: MGT_DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:145,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:146,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:147,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:147,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:148,1
    - Dst: VSMW_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:150,1
    - Dst: VSMW_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: mgt_SHM_ChildDestroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c
    functionUses: 0
    functionsReached:
    - MGT_DO_DEBUG
    - AZ
    - VJ_master
    - system
    - VSMW_Free
    - closefd
    linkageType: ''
    returnType: void
    signature: void mgt_SHM_ChildDestroy(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:76,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:78,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:79,1
    - Dst: endpwent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: vju_getuid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - getpwnam
    - strdup
    - AN
    - endpwent
    linkageType: ''
    returnType: int
    signature: int vju_getuid(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:92,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:94,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:95,1
    - Dst: endpwent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: vju_getwrkuid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - getpwnam
    - strdup
    - AN
    - endpwent
    linkageType: ''
    returnType: int
    signature: int vju_getwrkuid(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getgrnam
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:108,1
    - Dst: endgrent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: vju_getccgid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - getgrnam
    - endgrent
    linkageType: ''
    returnType: int
    signature: int vju_getccgid(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: JERR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JERR(what, val)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: geteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:131,1
    - Dst: vju_getuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:133,1
    - Dst: geteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:137,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:138,1
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:141,1
    - Dst: vju_getuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:143,1
    - Dst: JERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:144,1
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:147,1
    - Dst: vju_getwrkuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:149,1
    - Dst: JERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:150,1
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:153,1
    - Dst: vju_getccgid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:155,1
    - Dst: JERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:156,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:159,1
    - Dst: vju_getuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:163,1
    - Dst: JERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:164,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:167,1
    - Dst: getgid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:169,1
    - Dst: vju_getwrkuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:171,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:177,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:181,1
    - Dst: setegid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:181,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:182,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:182,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 184
    functionName: vju_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - AN
    - vju_getuid
    - keyval
    - vju_getwrkuid
    - getgid
    - geteuid
    - vju_getccgid
    - AZ
    - JERR
    - setegid
    - ARGV_ERR
    - seteuid
    linkageType: ''
    returnType: void
    signature: void vju_init(char **args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_JAIL_MASTER
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:191,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:193,1
    - Dst: setegid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:193,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:194,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:194,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:196,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:196,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:197,1
    - Dst: setegid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - jme
    argTypes:
    - enum jail_master_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: vju_master
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - seteuid
    - ASSERT_JAIL_MASTER
    - setegid
    - AZ
    linkageType: ''
    returnType: void
    signature: void vju_master(enum jail_master_e jme)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_JAIL_SUBPROC
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:207,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:208,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:208,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:211,1
    - Dst: setgid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:211,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:212,1
    - Dst: initgroups
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:212,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:214,1
    - Dst: setgid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:214,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:215,1
    - Dst: initgroups
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:215,1
    - Dst: getgroups
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:220,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:221,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:222,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:224,1
    - Dst: setgroups
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:224,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:229,1
    - Dst: setuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:229,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:231,1
    - Dst: setuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - jse
    argTypes:
    - enum jail_subproc_e
    assertStmts:
    - condition: (i < NGID - 1)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    - condition: (i >= 0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    constantsTouched: []
    func_position:
      end: 233
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 233
    functionName: vju_subproc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - setgroups
    - ASSERT_JAIL_SUBPROC
    - setuid
    - AZ
    - assert
    - setgid
    - seteuid
    - initgroups
    - getgroups
    linkageType: ''
    returnType: void
    signature: void vju_subproc(enum jail_subproc_e jse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:240,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:241,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:242,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:243,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:243,1
    - Dst: mkdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:245,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:247,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:248,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:251,1
    - Dst: chown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:251,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:252,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - dname
    - what
    - vsb
    argTypes:
    - char*
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 254
    functionName: vju_make_subdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - chown
    - AN
    - mkdir
    - VAS_errtxt
    - VSB_printf
    - AZ
    - seteuid
    linkageType: ''
    returnType: void
    signature: void vju_make_subdir(const char *dname, const char *what, struct vsb
      *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:260,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:261,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:262,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:263,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:263,1
    - Dst: mkdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:265,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:266,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:267,1
    - Dst: chown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:271,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:272,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:273,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:276,1
    - Dst: seteuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - dname
    - what
    - vsb
    argTypes:
    - char*
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: vju_make_workdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - chown
    - AN
    - mkdir
    - VAS_errtxt
    - VSB_printf
    - AZ
    - seteuid
    - MGT_Complain
    linkageType: ''
    returnType: void
    signature: void vju_make_workdir(const char *dname, const char *what, struct vsb
      *vsb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:287,1
    - Dst: fchmod
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:287,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:288,1
    - Dst: fchown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:288,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:291,1
    - Dst: fchmod
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:291,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:292,1
    - Dst: fchown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:292,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:296,1
    - Dst: fchmod
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:296,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:297,1
    - Dst: fchown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:297,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - fd
    - what
    argTypes:
    - int
    - enum jail_fixfd_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 302
    functionName: vju_fixfd
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
    functionUses: 0
    functionsReached:
    - WRONG
    - fchown
    - fchmod
    - AZ
    linkageType: ''
    returnType: void
    signature: void vju_fixfd(int fd, enum jail_fixfd_e what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:62,1
    - Dst: gethostname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:62,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:63,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: mgt_HostName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - gethostname
    - strdup
    - AN
    - AZ
    linkageType: ''
    returnType: char
    signature: 'char *

      mgt_HostName(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:74,1
    - Dst: setproctitle
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:75,1
    - Dst: setproctitle
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - comp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: mgt_ProcTitle
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - setproctitle
    - strcmp
    linkageType: ''
    returnType: void
    signature: void mgt_ProcTitle(const char *comp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:90,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:91,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:92,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:93,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:94,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:96,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - tag
    - sdesc
    - ldesc
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (sdesc != NULL && ldesc != NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    - condition: (*sdesc != '\0' || *ldesc != '\0')
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: mgt_sltm
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - assert
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: void mgt_sltm(const char *tag, const char *sdesc, const char *ldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: mgt_DumpRstVsl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void mgt_DumpRstVsl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - flags
    - ','
    - sdesc
    - ','
    - ldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: SLTM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLTM(tag, flags, sdesc, ldesc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:122,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:123,1
    - Dst: uname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:124,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:125,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:126,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: mgt_BuildVident
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - AN
    - VSB_new_auto
    - uname
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      mgt_BuildVident(void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:151,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:151,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:153,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:168,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:171,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:171,1
    - Dst: MGT_DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:173,1
    - Dst: syslog
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:174,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - loud
    - vsb
    argTypes:
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: MGT_ComplainVSB
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MGT_DO_DEBUG
    - VSB_finish
    - syslog
    - AZ
    - VSB_len
    - WRONG
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void MGT_ComplainVSB(const char *loud, struct vsb *vsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:183,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:184,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:185,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:186,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:187,1
    - Dst: MGT_ComplainVSB
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:188,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - loud
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: MGT_Complain
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 1
    functionsReached:
    - VSB_destroy
    - AN
    - MGT_ComplainVSB
    - va_start
    - VSB_vprintf
    - VSB_new_auto
    - va_end
    linkageType: ''
    returnType: void
    signature: void MGT_Complain(const char *loud, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:199,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cp
    - which
    - kind
    argTypes:
    - struct choice*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: MGT_Pick
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - ARGV_ERR
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void *

      MGT_Pick(const struct choice *cp, const char *which, const char *kind)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:215,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:216,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:217,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:219,1
    - Dst: VCT_invalid_name
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:221,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:222,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:225,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:227,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:229,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:232,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:237,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:238,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 244
    functionName: MGT_NamedArg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - VCT_invalid_name
    - AN
    - malloc
    - memcpy
    - strchr
    - ARGV_ERR
    - ASSERT_MGT
    linkageType: ''
    returnType: char
    signature: 'char **

      MGT_NamedArg(const char *spec, const char **name, const char *what)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:129,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:130,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: mcf_findpar
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - AN
    - strcmp
    linkageType: ''
    returnType: struct parspec
    signature: 'struct parspec *

      mcf_findpar(const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:142,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:143,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:145,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:146,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:148,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:149,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:151,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ps
    argTypes:
    - struct parspec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: mcf_addpar
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - VTAILQ_INSERT_TAIL
    - exit
    - strcmp
    - VTAILQ_INSERT_BEFORE
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void mcf_addpar(struct parspec *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:164,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:165,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - alias
    - pp
    argTypes:
    - struct parspec*
    - struct parspec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: mcf_alias
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - TRUST_ME
    - AN
    - memcpy
    linkageType: ''
    returnType: struct parspec
    signature: 'struct parspec *

      mcf_alias(struct parspec *alias, const struct parspec *pp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:183,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:186,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:187,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:191,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:192,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:194,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:200,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:202,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:205,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:209,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:210,1
    - Dst: mcf_wrap_line
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:211,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:217,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - cli
    - b
    - e
    - tabs
    - m0
    argTypes:
    - struct cli*
    - char*
    - char*
    - int
    - int
    assertStmts:
    - condition: (hadtabs < 2)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    - condition: (tabs)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    - condition: (*b == ' ')
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    - condition: (hadtabs == 0 || hadtabs == 2)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    - condition: (b == e)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: mcf_wrap_line
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 1
    functionsReached:
    - assert
    - VCLI_Out
    - isspace
    - mcf_wrap_line
    linkageType: ''
    returnType: void
    signature: void mcf_wrap_line(struct cli *cli, const char *b, const char *e, int
      tabs, int m0)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:226,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:228,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:232,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:234,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:236,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:249,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:253,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:255,1
    - Dst: mcf_wrap_line
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - cli
    - text
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 259
    functionName: mcf_wrap
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - fprintf
    - VCLI_Out
    - exit
    - strchr
    - mcf_wrap_line
    - strstr
    linkageType: ''
    returnType: void
    signature: void mcf_wrap(struct cli *cli, const char *text)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:276,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:280,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:285,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:286,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:293,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:294,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:297,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:299,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:304,1
    - Dst: mcf_alias
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:306,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:310,1
    - Dst: struct parspec*::func
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:311,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:312,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:313,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:313,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:314,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:314,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:319,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:320,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:322,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:326,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:327,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:329,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:332,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:332,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:334,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:335,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:335,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:336,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:338,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:341,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:342,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:346,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:347,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:348,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:350,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:350,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:351,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:354,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:357,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:359,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:360,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:362,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:364,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:366,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:368,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:370,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:372,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:374,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:376,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:378,1
    - Dst: mcf_wrap
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:380,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:381,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:385,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:386,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:388,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 107
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 389
    functionName: mcf_param_show
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - struct parspec*::func
    - AN
    - VCLI_SetResult
    - VSB_finish
    - VSB_data
    - VCLI_Out
    - strcmp
    - AZ
    - TRUST_ME
    - mcf_alias
    - VSB_clear
    - mcf_wrap
    - VTAILQ_FOREACH
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void mcf_param_show(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:394,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:395,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - key
    - val
    argTypes:
    - struct cli*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: mcf_json_key_valstr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - VCLI_JSON_str
    linkageType: ''
    returnType: void
    signature: void mcf_json_key_valstr(struct cli *cli, const char *key, const char
      *val)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:412,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:413,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:414,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:417,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:421,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:424,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:425,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:431,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:432,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:433,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:434,1
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:437,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:438,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:439,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:441,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:446,1
    - Dst: mcf_alias
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:448,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:452,1
    - Dst: struct parspec*::func
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:453,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:454,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:455,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:455,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:456,1
    - Dst: struct parspec*::func
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:457,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:458,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:459,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:459,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:460,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:460,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:463,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:465,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:466,1
    - Dst: mcf_json_key_valstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:467,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:469,1
    - Dst: mcf_json_key_valstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:470,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:473,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:474,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:475,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:478,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:479,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:479,1
    - Dst: mcf_json_key_valstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:481,1
    - Dst: mcf_json_key_valstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:484,1
    - Dst: mcf_json_key_valstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:486,1
    - Dst: mcf_json_key_valstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:488,1
    - Dst: mcf_json_key_valstr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:489,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:491,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:492,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:503,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:504,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:505,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:506,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:507,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:508,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:509,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:510,1
    - Dst: flag_out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:511,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:516,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:517,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:518,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:519,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:520,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:522,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:524,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:525,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:526,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:528,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:529,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 103
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 530
    functionName: mcf_param_show_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - VCLI_JSON_end
    - flag_out
    - VSB_clear
    - AN
    - VCLI_SetResult
    - VSB_data
    - VTAILQ_FOREACH
    - mcf_json_key_valstr
    - VCLI_Out
    - strcmp
    - AZ
    - TRUST_ME
    - mcf_alias
    - VSB_new_auto
    - VSB_indent
    - struct parspec*::func
    - VCLI_JSON_begin
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void mcf_param_show_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - string
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 502
    functionName: flag_out
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: flag_out(flag, string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:544,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:546,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:547,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:548,1
    - Dst: mcf_findpar
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:552,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:554,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:555,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:559,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:560,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:561,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:565,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - cli
    - args
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 571
    functionName: MCF_ParamProtect
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - AN
    - VAV_Free
    - VCLI_SetResult
    - VCLI_Out
    - TRUST_ME
    - mcf_findpar
    linkageType: ''
    returnType: void
    signature: void MCF_ParamProtect(struct cli *cli, const char *args)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mcf_findpar
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:581,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:583,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:584,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:588,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:589,1
    - Dst: mcf_alias
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:598,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:602,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:603,1
    - Dst: struct parspec*::func
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:606,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:607,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:613,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:615,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:616,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:619,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - cli
    - param
    - val
    argTypes:
    - struct cli*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 622
    functionName: MCF_ParamSet
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - struct parspec*::func
    - VCLI_SetResult
    - VCLI_Out
    - MCH_Running
    - mcf_alias
    - mcf_findpar
    linkageType: ''
    returnType: void
    signature: void MCF_ParamSet(struct cli *cli, const char *param, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCF_ParamSet
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 628
    functionDepth: 2
    functionLinenumber: 628
    functionLinenumberEnd: 633
    functionName: mcf_param_set
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - MCF_ParamSet
    linkageType: ''
    returnType: void
    signature: void mcf_param_set(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MCF_ParamSet
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:640,1
    - Dst: mcf_param_show_json
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: mcf_param_set_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - MCF_ParamSet
    - mcf_param_show_json
    linkageType: ''
    returnType: void
    signature: void mcf_param_set_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MCF_ParamSet
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: mcf_param_reset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - MCF_ParamSet
    linkageType: ''
    returnType: void
    signature: void mcf_param_reset(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:675,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:676,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:677,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:678,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:680,1
    - Dst: mcf_addpar
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:682,1
    - Dst: vmax_t
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:683,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 685
    functionName: mcf_init_params
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - isspace
    - exit
    - mcf_addpar
    - strchr
    - vmax_t
    - strlen
    linkageType: ''
    returnType: void
    signature: void mcf_init_params(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:697,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:697,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:701,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:701,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:705,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:705,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - which
    - pp
    - vsb
    argTypes:
    - enum mcf_which_e
    - struct parspec*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 711
    functionName: mcf_dyn_vsb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - VSB_data
    - REPLACE
    - WRONG
    linkageType: ''
    returnType: void
    signature: void mcf_dyn_vsb(enum mcf_which_e which, struct parspec *pp, struct
      vsb *vsb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:725,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:727,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:730,1
    - Dst: mcf_findpar
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:731,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:736,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:737,1
    - Dst: struct parspec*::func
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:739,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:740,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:740,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:742,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:742,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:743,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:746,1
    - Dst: struct parspec*::func
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:747,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:748,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:749,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:749,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:750,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:750,1
    - Dst: mcf_dyn_vsb
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - cli
    - pp
    - which
    - name
    - vsb
    argTypes:
    - struct cli*
    - struct parspec*
    - enum mcf_which_e
    - char*
    - struct vsb*
    assertStmts:
    - condition: (which == MCF_DEFAULT)
      pos:
        line_end: 729
        line_start: 729
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    constantsTouched: []
    func_position:
      end: 752
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 752
    functionName: mcf_wash_param
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - struct parspec*::func
    - AN
    - VSB_data
    - VSB_finish
    - VCLI_SetResult
    - VSB_printf
    - VCLI_Out
    - mcf_dyn_vsb
    - AZ
    - assert
    - strcmp
    - WRONG
    - VSB_clear
    - mcf_findpar
    linkageType: ''
    returnType: void
    signature: "void mcf_wash_param(struct cli *cli, struct parspec *pp, enum mcf_which_e
      which,\n    const char *name, struct vsb *vsb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mcf_init_params
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:775,1
    - Dst: MCF_TcpParams
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:776,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:787,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:788,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:789,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:790,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:791,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:792,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:793,1
    - Dst: sysconf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:797,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:798,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:806,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:812,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:815,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:818,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:820,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:821,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:823,1
    - Dst: mcf_wash_param
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:829,1
    - Dst: mcf_wash_param
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:831,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:832,1
    - Dst: mcf_wash_param
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:833,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:835,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:837,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:838,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 839
    functionName: MCF_InitParams
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - MCF_ParamConf
    - AN
    - MCF_TcpParams
    - REPLACE
    - mcf_init_params
    - VCLS_AddFunc
    - mcf_wash_param
    - sysconf
    - VTAILQ_FOREACH
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void MCF_InitParams(struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mcf_findpar
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:851,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:852,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:853,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:854,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:855,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:856,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:857,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:858,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:858,1
    - Dst: mcf_dyn_vsb
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:859,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - which
    - param
    - fmt
    argTypes:
    - enum mcf_which_e
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 861
    functionName: MCF_ParamConf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 1
    functionsReached:
    - VSB_destroy
    - AN
    - VSB_finish
    - mcf_dyn_vsb
    - AZ
    - va_start
    - VSB_vprintf
    - VSB_new_auto
    - va_end
    - mcf_findpar
    linkageType: ''
    returnType: void
    signature: "void MCF_ParamConf(enum mcf_which_e which, const char * const param,\n
      \   const char *fmt, ...)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:874,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:876,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:878,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:880,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:881,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:882,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:883,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:884,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:887,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:890,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:893,1
    - Dst: MCF_DYN_REASON
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:900,1
    - Dst: MCF_DYN_REASON
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:901,1
    - Dst: MCF_DYN_REASON
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:902,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:908,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:912,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:916,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:920,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:924,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:928,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:932,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:936,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:940,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:943,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:945,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:948,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:950,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:951,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:953,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:954,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:955,1
    - Dst: fwrite
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:956,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:957,1
    - Dst: fwrite
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:960,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:963,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c:968,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 970
    functionName: MCF_DumpRstParam
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 0
    functionsReached:
    - AN
    - fwrite
    - strcmp
    - MCF_DYN_REASON
    - strchr
    - printf
    - VTAILQ_FOREACH
    - strlen
    linkageType: ''
    returnType: void
    signature: void MCF_DumpRstParam(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lbl
    - ','
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: MCF_DYN_REASON
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCF_DYN_REASON(lbl, nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: mgt_DumpBuiltin
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void mgt_DumpBuiltin(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:99,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:100,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:101,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:102,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:103,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:103,1
    - Dst: VCC_VEXT
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:104,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:104,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - filename
    - priv
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: vcc_vext_iter_func
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_finish
    - AZ
    - VSB_cat
    - VCC_VEXT
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_vext_iter_func(const char *filename, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VJ_subproc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:118,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:119,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:121,1
    - Dst: chdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:121,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:121,1
    - Dst: VCC_New
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:123,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:124,1
    - Dst: VCC_Builtin_VCL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:125,1
    - Dst: VCC_VCL_path
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:126,1
    - Dst: VCC_VMOD_path
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:127,1
    - Dst: vext_iter
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:133,1
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:135,1
    - Dst: VCC_Predef
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:136,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:137,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:138,1
    - Dst: VCC_Predef
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:139,1
    - Dst: VCC_Compile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:140,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:142,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:143,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:143,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:144,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 146
    functionName: run_vcc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - VCC_VCL_path
    - VCC_Predef
    - VCC_VMOD_path
    - VJ_subproc
    - AN
    - VCC_Builtin_VCL
    - exit
    - VCC_Compile
    - CAST_OBJ_NOTNULL
    - VSB_data
    - printf
    - VTAILQ_FOREACH
    - vext_iter
    - AZ
    - VSB_len
    - VCC_New
    - chdir
    - STV_Foreach
    - mcf_is_label
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void run_vcc(void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: VCC_FEATURE_BIT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_FEATURE_BIT(U, l, d)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:159,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:160,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:166,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:169,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:172,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:175,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:180,1
    - Dst: cc_expand
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:180,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:183,1
    - Dst: getcwd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:183,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:184,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:187,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:190,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:191,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:198,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:202,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - sb
    - cc_cmd
    - exp
    argTypes:
    - struct vsb*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 204
    functionName: cc_expand
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 1
    functionsReached:
    - AN
    - VSB_putc
    - AZ
    - VSB_cat
    - cc_expand
    - getcwd
    linkageType: ''
    returnType: char
    signature: 'char *

      cc_expand(struct vsb *sb, const char *cc_cmd, char exp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VJ_subproc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:217,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:218,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:220,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:221,1
    - Dst: cc_expand
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:222,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:224,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:225,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:226,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:228,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:228,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:230,1
    - Dst: chdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:230,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:230,1
    - Dst: umask
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:232,1
    - Dst: execl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:233,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:233,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 235
    functionName: run_cc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - chdir
    - fprintf
    - umask
    - AN
    - VSB_finish
    - execl
    - exit
    - CAST_OBJ_NOTNULL
    - AZ
    - cc_expand
    - VSB_data
    - VJ_subproc
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void run_cc(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VJ_subproc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:246,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:247,1
    - Dst: VCL_TestLoad
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:248,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:248,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:249,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: run_dlopen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - exit
    - CAST_OBJ_NOTNULL
    - VCL_TestLoad
    - VSB_data
    - VJ_subproc
    linkageType: ''
    returnType: void
    signature: void run_dlopen(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:262,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:264,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:265,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fn
    - sb
    argTypes:
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: mgt_vcc_touchfile
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - closefd
    - VAS_errtxt
    - open
    linkageType: ''
    returnType: int
    signature: int mgt_vcc_touchfile(const char *fn, struct vsb *sb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:282,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:283,1
    - Dst: mgt_vcc_touchfile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:284,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:284,1
    - Dst: mgt_vcc_touchfile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:286,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:286,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:289,1
    - Dst: VSUB_run
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:290,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:291,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:296,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:296,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:297,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:298,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:299,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:301,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:302,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:302,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:303,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:304,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:305,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:306,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:309,1
    - Dst: VSUB_run
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:310,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:311,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:315,1
    - Dst: VSUB_run
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:316,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - vp
    - sb
    - C_flag
    argTypes:
    - struct vcc_priv*
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 319
    functionName: mgt_vcc_compile
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_data
    - VFIL_readfile
    - VSUB_run
    - VJ_master
    - VSB_cat
    - VSB_clear
    - free
    - mgt_vcc_touchfile
    linkageType: ''
    returnType: unsigned
    signature: unsigned mgt_vcc_compile(struct vcc_priv *vp, struct vsb *sb, int C_flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:326,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:327,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:328,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:329,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:330,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:331,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:332,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:333,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - vp
    argTypes:
    - struct vcc_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: mgt_vcc_init_vp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_new_auto
    - INIT_OBJ
    linkageType: ''
    returnType: void
    signature: void mgt_vcc_init_vp(struct vcc_priv *vp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MGT_DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:342,1
    - Dst: VJ_unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:343,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:343,1
    - Dst: VJ_unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:344,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:344,1
    - Dst: VJ_unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:346,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:346,1
    - Dst: VJ_rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:347,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:347,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:350,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:351,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:352,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - vp
    - vcc_status
    argTypes:
    - struct vcc_priv*
    - enum vcc_fini_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: mgt_vcc_fini_vp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - MGT_DO_DEBUG
    - VJ_rmdir
    - VSB_data
    - VJ_unlink
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void mgt_vcc_fini_vp(struct vcc_priv *vp, enum vcc_fini_e vcc_status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:365,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:367,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:368,1
    - Dst: mgt_vcc_init_vp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:370,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:407,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:407,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:408,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:408,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:410,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:410,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:411,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:411,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:413,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:413,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:414,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:414,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:416,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:416,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:417,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:417,1
    - Dst: VJ_make_subdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:419,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:419,1
    - Dst: mgt_vcc_fini_vp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:420,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:421,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:422,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:423,1
    - Dst: mgt_vcc_compile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:427,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:428,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:428,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:429,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:430,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:430,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:431,1
    - Dst: mgt_vcc_fini_vp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:434,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:436,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:437,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:442,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:442,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:443,1
    - Dst: mgt_vcl_symtab
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:444,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:446,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:446,1
    - Dst: mgt_vcc_fini_vp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 6
    argNames:
    - cli
    - vcl
    - vclname
    - vclsrc
    - vclsrcfile
    - C_flag
    argTypes:
    - struct cli*
    - struct vclprog*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 449
    functionName: mgt_VccCompile
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    functionUses: 0
    functionsReached:
    - AN
    - mgt_vcc_fini_vp
    - VTIM_real
    - VSB_finish
    - VSB_printf
    - VCLI_Out
    - VCLI_SetResult
    - VFIL_readfile
    - mgt_vcc_init_vp
    - AZ
    - VJ_make_subdir
    - VSB_len
    - REPLACE
    - mgt_vcl_symtab
    - VSB_data
    - mgt_vcc_compile
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: char
    signature: "char *\nmgt_VccCompile(struct cli *cli, struct vclprog *vcl, const
      char *vclname,\n    const char *vclsrc, const char *vclsrcfile, int C_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - s
    - ','
    - h
    - ','
    - d
    - ','
    - m
    - ','
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: CLI_CMD
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLI_CMD(U,l,s,h,d,m,M)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:83,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:84,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:85,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:86,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:86,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:87,1
    - Dst: VCS_String
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:87,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:88,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:89,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:90,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:91,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:92,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: mcf_banner
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VCLI_SetResult
    - VCLI_Out
    - VCS_String
    - MCH_Running
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void mcf_banner(struct cli *cli, const char *const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: v_gcov_flush
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:112,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:113,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:113,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: mcf_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - v_gcov_flush
    - abort
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void mcf_panic(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:138,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:139,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:145,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:147,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:147,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:148,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:150,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:151,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:151,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:152,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:153,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:154,1
    - Dst: MCH_Cli_Fail
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:155,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:158,1
    - Dst: MCH_Cli_Fail
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:159,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:160,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:161,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 163
    functionName: mcf_askchild
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VSB_putc
    - VCLI_ReadResult
    - VCLI_SetResult
    - VSB_finish
    - VCLI_Out
    - AZ
    - VSB_quote
    - VSB_tofile
    - MCH_Cli_Fail
    - VSB_clear
    - strlen
    - free
    linkageType: ''
    returnType: void
    signature: void mcf_askchild(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:185,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:186,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:195,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:196,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:196,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:197,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:198,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:198,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:199,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:200,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:200,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:201,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:204,1
    - Dst: MCH_Cli_Fail
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:205,1
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:209,1
    - Dst: MCH_Cli_Fail
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - status
    - resp
    - fmt
    argTypes:
    - unsigned*
    - char**
    - char*
    assertStmts:
    - condition: (i > 0 && VSB_data(cli_buf)[i - 1] == '\n')
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    constantsTouched: []
    func_position:
      end: 213
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 213
    functionName: mgt_cli_askchild
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - AN
    - VCLI_ReadResult
    - VSB_data
    - VSB_finish
    - MCH_Cli_Fail
    - strdup
    - AZ
    - VSB_len
    - assert
    - VSB_tofile
    - va_start
    - VSB_vprintf
    - VSB_clear
    - va_end
    linkageType: ''
    returnType: int
    signature: int mgt_cli_askchild(unsigned *status, char **resp, const char *fmt,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_ReadResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - tmo
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: mgt_cli_start_child
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VCLI_ReadResult
    linkageType: ''
    returnType: unsigned
    signature: unsigned mgt_cli_start_child(int fd, double tmo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: mgt_cli_stop_child
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mgt_cli_stop_child(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:251,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:251,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:253,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:253,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:258,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:259,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 261
    functionName: mgt_cli_challenge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - VCLI_SetResult
    - VRND_RandomCrypto
    - AZ
    linkageType: ''
    returnType: void
    signature: void mgt_cli_challenge(struct cli *cli)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:273,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:276,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:277,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:280,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:281,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:283,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:284,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:285,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:286,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:289,1
    - Dst: MCH_TrackHighFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:290,1
    - Dst: VCLI_AuthResponse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:291,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:292,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:293,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:294,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:296,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:300,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:301,1
    - Dst: mcf_banner
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: mcf_auth
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - AN
    - VAS_errtxt
    - VCLI_SetResult
    - strcasecmp
    - MCH_TrackHighFd
    - VCLI_Out
    - memset
    - VJ_master
    - VCLI_AuthResponse
    - open
    - MGT_Complain
    - mcf_banner
    - closefd
    linkageType: ''
    returnType: void
    signature: void mcf_auth(struct cli *cli, const char *const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLS_func_help
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:311,1
    - Dst: mcf_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 314
    functionName: mcf_help
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - mcf_askchild
    - VCLS_func_help
    linkageType: ''
    returnType: void
    signature: void mcf_help(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLS_func_help_json
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:320,1
    - Dst: mcf_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: mcf_help_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - mcf_askchild
    - VCLS_func_help_json
    linkageType: ''
    returnType: void
    signature: void mcf_help_json(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:340,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:340,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:341,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: mgt_cli_cb_before
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MGT_Complain
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void mgt_cli_cb_before(const struct cli *cli)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:348,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:349,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:353,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:354,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:355,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 358
    functionName: mgt_cli_cb_after
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VSB_data
    - MGT_Complain
    - ARGV_ERR
    linkageType: ''
    returnType: void
    signature: void mgt_cli_cb_after(const struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLS_New
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:366,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:367,1
    - Dst: VCLS_SetHooks
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:368,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:369,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:370,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:371,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:372,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:373,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: mgt_cli_init_cls
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - AN
    - VCLS_New
    - VSB_new_auto
    - VCLS_AddFunc
    - VCLS_SetHooks
    linkageType: ''
    returnType: void
    signature: void mgt_cli_init_cls(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLS_Destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: mgt_cli_close_all
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VCLS_Destroy
    linkageType: ''
    returnType: void
    signature: void mgt_cli_close_all(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLS_Poll
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: mgt_cli_callback2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VCLS_Poll
    linkageType: ''
    returnType: int
    signature: int mgt_cli_callback2(const struct vev *e, int what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLS_AddFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:411,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:413,1
    - Dst: mgt_cli_challenge
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:417,1
    - Dst: mcf_banner
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:420,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:422,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:422,1
    - Dst: VCLI_WriteResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:423,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:423,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:425,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:426,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:432,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 6
    argNames:
    - fdi
    - fdo
    - auth
    - ident
    - closefunc
    - priv
    argTypes:
    - int
    - int
    - int
    - char*
    - mgt_cli_close_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 433
    functionName: mgt_cli_setup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VCLI_WriteResult
    - VEV_Alloc
    - AN
    - VSB_finish
    - REPLACE
    - mgt_cli_challenge
    - AZ
    - VEV_Start
    - VCLS_AddFd
    - VSB_data
    - mcf_banner
    linkageType: ''
    returnType: void
    signature: "void mgt_cli_setup(int fdi, int fdo, int auth, const char *ident,\n
      \   mgt_cli_close_f *closefunc, void *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:445,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:446,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:447,1
    - Dst: VTCP_hisname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:448,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:449,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:450,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pfx
    - fd
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 452
    functionName: sock_id
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_finish
    - VSB_printf
    - AZ
    - VTCP_hisname
    - VTCP_myname
    - VSB_new_auto
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      sock_id(const char *pfx, int fd)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:463,1
    - Dst: MCH_TrackHighFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:469,1
    - Dst: sock_id
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:470,1
    - Dst: mgt_cli_setup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:471,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:471,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ev
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 474
    functionName: telnet_accept
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - mgt_cli_setup
    - sock_id
    - VSB_data
    - MCH_TrackHighFd
    - accept
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int telnet_accept(const struct vev *ev, int what)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mgt_SHM_static_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:483,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:483,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:485,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:486,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:488,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:489,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:491,1
    - Dst: MCH_TrackHighFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:492,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:493,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:495,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:496,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:499,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:500,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - S_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 504
    functionName: mgt_cli_secret
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read
    - MCH_TrackHighFd
    - exit
    - mgt_SHM_static_alloc
    - VJ_master
    - open
    - strlen
    - closefd
    linkageType: ''
    returnType: void
    signature: void mgt_cli_secret(const char *S_arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:516,1
    - Dst: VTCP_listen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:517,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:518,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:519,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:521,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:522,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:523,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:524,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:528,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts:
    - condition: (sock != 0)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    constantsTouched: []
    func_position:
      end: 531
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 531
    functionName: mct_callback
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VEV_Alloc
    - AN
    - VTCP_listen
    - VSB_printf
    - AZ
    - assert
    - VEV_Start
    - VJ_master
    - VTCP_myname
    linkageType: ''
    returnType: void
    signature: void mct_callback(void *priv, const struct suckaddr *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:540,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:541,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:542,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:543,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:545,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:547,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:548,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:548,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:549,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:550,1
    - Dst: mgt_SHM_static_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:552,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:552,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:552,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - T_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 554
    functionName: mgt_cli_telnet
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_data
    - VSB_finish
    - mgt_SHM_static_alloc
    - AZ
    - VSB_len
    - ARGV_ERR
    - VSS_resolver
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void mgt_cli_telnet(const char *T_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: Marg_closer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Marg_closer(void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:587,1
    - Dst: VTCP_connected
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:590,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:592,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:593,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:594,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:595,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:596,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:597,1
    - Dst: sock_id
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:602,1
    - Dst: mgt_cli_setup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:603,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:603,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts:
    - condition: (e == M_conn)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    constantsTouched: []
    func_position:
      end: 607
      start: 582
    functionDepth: 3
    functionLinenumber: 582
    functionLinenumberEnd: 607
    functionName: Marg_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - mgt_cli_setup
    - VTAILQ_INSERT_TAIL
    - VAS_errtxt
    - sock_id
    - VTCP_connected
    - assert
    - VTAILQ_REMOVE
    - VSB_data
    - MGT_Complain
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void Marg_connect(const struct vev *e, int what)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:615,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:622,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:623,1
    - Dst: VTCP_connect
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:626,1
    - Dst: MCH_TrackHighFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:630,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:632,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:633,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:639,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts:
    - condition: (e == M_poker)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    constantsTouched: []
    func_position:
      end: 641
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 641
    functionName: Marg_poker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VEV_Alloc
    - VTAILQ_FIRST
    - AN
    - MCH_TrackHighFd
    - AZ
    - assert
    - VTCP_connect
    - VEV_Start
    linkageType: ''
    returnType: void
    signature: void Marg_poker(const struct vev *e, int what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:649,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:650,1
    - Dst: VSA_Clone
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:651,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 654
    functionName: marg_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    - VSA_Clone
    linkageType: ''
    returnType: void
    signature: void marg_cb(void *priv, const struct suckaddr *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:662,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:664,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:666,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:668,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:669,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:670,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:671,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:672,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:673,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:677,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - M_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 678
    functionName: mgt_cli_master
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - VEV_Alloc
    - AN
    - VTAILQ_EMPTY
    - AZ
    - VEV_Start
    - ARGV_ERR
    - VSS_resolver
    linkageType: ''
    returnType: void
    signature: void mgt_cli_master(const char *M_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 687
    functionName: cli_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cli_cmp(const void *a, const void *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:697,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:700,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:702,1
    - Dst: fputc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:704,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:705,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:706,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:707,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:708,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:709,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:710,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:712,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c:714,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 716
    functionName: mgt_DumpRstCli
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    functionUses: 0
    functionsReached:
    - fputc
    - strncmp
    - qsort
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: void mgt_DumpRstCli(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: VJS_MASK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJS_MASK(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: priv_setop_check
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int priv_setop_check(int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: priv_setop_assert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: priv_setop_assert(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:270,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:271,1
    - Dst: setppriv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vs
    - set
    argTypes:
    - int
    - priv_set_t**
    assertStmts:
    - condition: (vs >= 0)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    - condition: (vs < VJS_NSET)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: vjs_priv_on
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - assert
    - setppriv
    linkageType: ''
    returnType: int
    signature: int vjs_priv_on(int vs, priv_set_t **set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VJS_MASK
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:286,1
    - Dst: priv_setop_assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:287,1
    - Dst: priv_addset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - sets
    - mask
    - priv
    argTypes:
    - priv_set_t*[]
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: vjs_add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - priv_addset
    - priv_setop_assert
    - VJS_MASK
    linkageType: ''
    returnType: void
    signature: void vjs_add(priv_set_t *sets[VJS_NSET], unsigned mask, const char
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: priv_allocset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:294,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:297,1
    - Dst: priv_emptyset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:300,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:302,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:303,1
    - Dst: priv_freeset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 309
    functionName: vjs_master_rules
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - priv_emptyset
    - AN
    - priv_freeset
    - priv_union
    - priv_allocset
    linkageType: ''
    returnType: int
    signature: int vjs_master_rules(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: priv_allocset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:316,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:317,1
    - Dst: priv_emptyset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: vjs_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - priv_emptyset
    - AN
    - priv_allocset
    linkageType: ''
    returnType: priv_set_t
    signature: 'priv_set_t *

      vjs_alloc(void)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:331,1
    - Dst: priv_str_to_set
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:333,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:335,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:341,1
    - Dst: vjs_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:346,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:347,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:348,1
    - Dst: getppriv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:348,1
    - Dst: vjs_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:350,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:351,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:352,1
    - Dst: getppriv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:352,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:353,1
    - Dst: vjs_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:356,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:357,1
    - Dst: priv_setop_assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:358,1
    - Dst: priv_addset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:358,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:360,1
    - Dst: vjs_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:367,1
    - Dst: vjs_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:368,1
    - Dst: vjs_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:379,1
    - Dst: vjs_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:380,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:388,1
    - Dst: priv_intersect
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:393,1
    - Dst: priv_intersect
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:394,1
    - Dst: priv_intersect
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:395,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:401,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:402,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:403,1
    - Dst: vjs_master_rules
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:406,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:411,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:412,1
    - Dst: priv_union
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:413,1
    - Dst: priv_copyset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:419,1
    - Dst: priv_inverse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:420,1
    - Dst: vjs_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:423,1
    - Dst: priv_freeset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:425,1
    - Dst: priv_freeset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:426,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    assertStmts:
    - condition: (JAIL_MASTER_ANY < JAIL_SUBPROC)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    constantsTouched: []
    func_position:
      end: 429
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 429
    functionName: vjs_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - priv_inverse
    - AN
    - keyval
    - priv_setop_assert
    - vjs_master
    - priv_freeset
    - priv_union
    - vjs_master_rules
    - vjs_alloc
    - AZ
    - getppriv
    - assert
    - priv_copyset
    - priv_addset
    - ARGV_ERR
    - priv_str_to_set
    - priv_intersect
    linkageType: ''
    returnType: void
    signature: void vjs_init(char **args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - mask
    - ','
    - priv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: PRIV
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV(name, mask, priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:437,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:438,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:443,1
    - Dst: setppriv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - jail
    argTypes:
    - int
    assertStmts:
    - condition: (jail >= 0)
      pos:
        line_end: 436
        line_start: 436
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    - condition: (jail < JAIL_LIMIT)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    constantsTouched: []
    func_position:
      end: 444
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 444
    functionName: vjs_waive
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - assert
    - setppriv
    - AZ
    linkageType: ''
    returnType: void
    signature: void vjs_waive(int jail)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: priv_ineffect
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:450,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:451,1
    - Dst: setppriv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:451,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:452,1
    - Dst: setppriv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:452,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: vjs_setuid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - setppriv
    - MGT_Complain
    - priv_ineffect
    - AZ
    linkageType: ''
    returnType: void
    signature: void vjs_setuid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:464,1
    - Dst: vjs_priv_on
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:464,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:465,1
    - Dst: vjs_priv_on
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:465,1
    - Dst: vjs_setuid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:467,1
    - Dst: vjs_waive
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - jse
    argTypes:
    - enum jail_subproc_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: vjs_subproc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 0
    functionsReached:
    - vjs_priv_on
    - vjs_waive
    - vjs_setuid
    - AZ
    linkageType: ''
    returnType: void
    signature: void vjs_subproc(enum jail_subproc_e jse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:475,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:477,1
    - Dst: vjs_priv_on
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:477,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:478,1
    - Dst: vjs_priv_on
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:478,1
    - Dst: vjs_waive
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - jme
    argTypes:
    - enum jail_master_e
    assertStmts:
    - condition: (jme < JAIL_SUBPROC)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: vjs_master
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
    functionUses: 1
    functionsReached:
    - assert
    - vjs_waive
    - vjs_priv_on
    - AZ
    linkageType: ''
    returnType: void
    signature: void vjs_master(enum jail_master_e jme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:105,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:106,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:107,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:108,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:108,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:109,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:111,1
    - Dst: strnlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:112,1
    - Dst: MGT_ComplainVSB
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: mgt_panic_record
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - AN
    - VTIM_format
    - strnlen
    - VTIM_real
    - VSB_printf
    - VSB_quote
    - MGT_ComplainVSB
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void mgt_panic_record(pid_t r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: mgt_panic_clear
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void mgt_panic_clear(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:127,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:128,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:134,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:134,1
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:138,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:139,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:140,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:140,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - cli
    - av
    - json
    argTypes:
    - struct cli*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: cli_panic_show
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - VCLI_SetResult
    - VCLI_Out
    - VCLI_JSON_end
    - VCLI_JSON_str
    - VCLI_JSON_begin
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void cli_panic_show(struct cli *cli, const char * const *av, int json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cli_panic_show
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: mch_cli_panic_show
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - cli_panic_show
    linkageType: ''
    returnType: void
    signature: void mch_cli_panic_show(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cli_panic_show
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: mch_cli_panic_show_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - cli_panic_show
    linkageType: ''
    returnType: void
    signature: void mch_cli_panic_show_json(struct cli *cli, const char * const *av,
      void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:163,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:164,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:165,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:173,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:174,1
    - Dst: mgt_panic_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: mch_cli_panic_clear
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - mgt_panic_clear
    - VCLI_Out
    - VCLI_SetResult
    - strcmp
    linkageType: ''
    returnType: void
    signature: void mch_cli_panic_clear(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:206,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts:
    - condition: (fd > 0)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: MCH_TrackHighFd
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 4
    functionsReached:
    - assert
    - vmax
    linkageType: ''
    returnType: void
    signature: void MCH_TrackHighFd(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:219,1
    - Dst: MCH_TrackHighFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:222,1
    - Dst: vbit_new
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:224,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:225,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:227,1
    - Dst: vbit_clr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - what
    argTypes:
    - int
    - char*
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    constantsTouched: []
    func_position:
      end: 230
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 230
    functionName: MCH_Fd_Inherit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 1
    functionsReached:
    - AN
    - vbit_set
    - MCH_TrackHighFd
    - assert
    - vbit_new
    - vbit_clr
    linkageType: ''
    returnType: void
    signature: void MCH_Fd_Inherit(int fd, const char *what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - p
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: child_line
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - MGT_Complain
    linkageType: ''
    returnType: void
    signature: void child_line(void *priv, const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLU_Fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:255,1
    - Dst: mgt_reap_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 262
    functionName: child_listener
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - VLU_Fd
    - mgt_reap_child
    linkageType: ''
    returnType: void
    signature: void child_listener(const struct vev *e, int what)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:280,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:280,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:281,1
    - Dst: MCH_Cli_Fail
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:284,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 269
    functionDepth: 3
    functionLinenumber: 269
    functionLinenumberEnd: 288
    functionName: child_poker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - mgt_cli_askchild
    - strncmp
    - MCH_Cli_Fail
    - MGT_Complain
    - free
    linkageType: ''
    returnType: void
    signature: void child_poker(const struct vev *e, int what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cli
    - ','
    - status
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: mgt_launch_err
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mgt_launch_err(cli, status, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:321,1
    - Dst: socketpair
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:324,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:325,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:332,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:332,1
    - Dst: mgt_SHM_ChildNew
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:336,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:338,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:339,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:340,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:341,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:342,1
    - Dst: perror
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:343,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:344,1
    - Dst: MGT_FEATURE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:348,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:349,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:351,1
    - Dst: setrlimit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:351,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:355,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:356,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:356,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:357,1
    - Dst: dup2
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:357,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:359,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:360,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:361,1
    - Dst: closelog
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:374,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:377,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:379,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:380,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:383,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:383,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:384,1
    - Dst: mgt_ProcTitle
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:387,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:390,1
    - Dst: vext_load
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:392,1
    - Dst: STV_Init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:394,1
    - Dst: VJ_subproc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:396,1
    - Dst: child_main
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:402,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:413,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:415,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:416,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:417,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:421,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:423,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:424,1
    - Dst: VLU_New
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:426,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:427,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:432,1
    - Dst: mgt_cli_start_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:433,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:435,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:436,1
    - Dst: mgt_launch_err
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:437,1
    - Dst: mgt_launch_err
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:439,1
    - Dst: kill_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:444,1
    - Dst: mgt_reap_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:445,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:449,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:450,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:454,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:455,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:456,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:461,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:461,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:463,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:465,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:466,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:470,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:470,1
    - Dst: mgt_push_vcls
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:476,1
    - Dst: mgt_launch_err
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:477,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:479,1
    - Dst: MCH_Stop_Child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:480,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:484,1
    - Dst: mgt_launch_err
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:485,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:487,1
    - Dst: MCH_Stop_Child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:488,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:492,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 116
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts:
    - condition: (u == CLIS_COMMS)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (close(i) == -1)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (errno == EBADF)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (dup2(heritage.std_fd, STDERR_FILENO) == STDERR_FILENO)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (dup2(heritage.std_fd, STDOUT_FILENO) == STDOUT_FILENO)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (u == CLIS_OK)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (cp[0] > STDERR_FILENO)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (pid > 1)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (cp[1] > STDERR_FILENO)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    constantsTouched: []
    func_position:
      end: 494
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 494
    functionName: mgt_launch_child
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - mgt_SHM_ChildNew
    - dup2
    - mgt_reap_child
    - mgt_launch_err
    - VTIM_mono
    - MGT_FEATURE
    - fork
    - VJ_subproc
    - XXXAN
    - fprintf
    - AN
    - socketpair
    - memset
    - exit
    - VLU_New
    - pipe
    - printf
    - VSB_data
    - mgt_push_vcls
    - kill_child
    - VEV_Alloc
    - close
    - perror
    - mgt_cli_start_child
    - AZ
    - assert
    - setrlimit
    - VEV_Start
    - MCH_Fd_Inherit
    - STV_Init
    - closelog
    - free
    - setbuf
    - vbit_test
    - mgt_ProcTitle
    - VFIL_null_fd
    - vext_load
    - child_main
    - mgt_cli_askchild
    - VJ_master
    - MCH_Stop_Child
    - MGT_Complain
    - closefd
    linkageType: ''
    returnType: void
    signature: void mgt_launch_child(struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:505,1
    - Dst: kill
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:506,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 511
    functionName: kill_child
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 1
    functionsReached:
    - VJ_master
    - kill
    linkageType: ''
    returnType: int
    signature: int kill_child(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:521,1
    - Dst: mgt_cli_stop_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:527,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:529,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:533,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:534,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:540,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:541,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:546,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:547,1
    - Dst: VFIL_nonblocking
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:549,1
    - Dst: child_listener
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:552,1
    - Dst: waitpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:553,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:556,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:559,1
    - Dst: kill_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:563,1
    - Dst: waitpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:564,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:567,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:568,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:570,1
    - Dst: WIFEXITED
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:572,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:572,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:573,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:573,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:575,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:580,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:581,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:581,1
    - Dst: WCOREDUMP
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:586,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:587,1
    - Dst: MGT_FEATURE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:588,1
    - Dst: MGT_ComplainVSB
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:593,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:594,1
    - Dst: mgt_panic_record
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:598,1
    - Dst: mgt_SHM_ChildDestroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:602,1
    - Dst: child_listener
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:608,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:609,1
    - Dst: VLU_Destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:610,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:614,1
    - Dst: VCA_reopen_sockets
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:618,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:621,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:626,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:628,1
    - Dst: mgt_launch_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:632,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (r == child_pid)
      pos:
        line_end: 567
        line_start: 567
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    - condition: (child_pid != -1)
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    constantsTouched: []
    func_position:
      end: 637
      start: 513
    functionDepth: 4
    functionLinenumber: 513
    functionLinenumberEnd: 637
    functionName: mgt_reap_child
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 2
    functionsReached:
    - sleep
    - WIFSIGNALED
    - VSB_printf
    - WEXITSTATUS
    - XXXAN
    - MGT_FEATURE
    - fprintf
    - VSB_destroy
    - VEV_Stop
    - mgt_SHM_ChildDestroy
    - WCOREDUMP
    - exit
    - mgt_cli_stop_child
    - WIFEXITED
    - WTERMSIG
    - VTIM_sleep
    - VFIL_nonblocking
    - kill_child
    - mgt_launch_child
    - assert
    - MGT_ComplainVSB
    - mgt_panic_record
    - VSB_new_auto
    - VCA_reopen_sockets
    - free
    - VLU_Destroy
    - waitpid
    - child_listener
    - VSB_cat
    - MGT_Complain
    - closefd
    linkageType: ''
    returnType: void
    signature: void mgt_reap_child(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: kill_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:657,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:658,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:661,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 663
    functionName: MCH_Cli_Fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 3
    functionsReached:
    - kill_child
    - MGT_Complain
    - VAS_errtxt
    linkageType: ''
    returnType: void
    signature: void MCH_Cli_Fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:680,1
    - Dst: mgt_reap_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 683
    functionName: MCH_Stop_Child
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 1
    functionsReached:
    - mgt_reap_child
    - MGT_Complain
    linkageType: ''
    returnType: void
    signature: void MCH_Stop_Child(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mgt_launch_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 688
    functionDepth: 4
    functionLinenumber: 688
    functionLinenumberEnd: 695
    functionName: MCH_Start_Child
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - mgt_launch_child
    linkageType: ''
    returnType: int
    signature: int MCH_Start_Child(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: MCH_Running
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int MCH_Running(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:718,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:718,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:719,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 722
    functionName: mch_pid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - getpid
    - MCH_Running
    - VCLI_Out
    linkageType: ''
    returnType: void
    signature: void mch_pid(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:729,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:730,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:730,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:731,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:732,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:733,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: mch_pid_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - getpid
    - VCLI_Out
    - VCLI_JSON_end
    - MCH_Running
    - VCLI_JSON_begin
    linkageType: ''
    returnType: void
    signature: void mch_pid_json(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mgt_has_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:745,1
    - Dst: mgt_launch_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:747,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:749,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:750,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:753,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 756
    functionName: mch_cli_server_start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - mgt_launch_child
    - mgt_has_vcl
    - VCLI_SetResult
    linkageType: ''
    returnType: void
    signature: void mch_cli_server_start(struct cli *cli, const char * const *av,
      void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MCH_Stop_Child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:765,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:767,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 759
    functionDepth: 6
    functionLinenumber: 759
    functionLinenumberEnd: 770
    functionName: mch_cli_server_stop
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - MCH_Stop_Child
    - VCLI_Out
    - VCLI_SetResult
    linkageType: ''
    returnType: void
    signature: void mch_cli_server_stop(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: mch_cli_server_status
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    linkageType: ''
    returnType: void
    signature: void mch_cli_server_status(struct cli *cli, const char * const *av,
      void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:784,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:785,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:786,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 788
    functionName: mch_cli_server_status_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - VCLI_JSON_begin
    - VCLI_JSON_end
    - VCLI_JSON_str
    linkageType: ''
    returnType: void
    signature: void mch_cli_server_status_json(struct cli *cli, const char * const
      *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 813
    functionName: MCH_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
    functionUses: 0
    functionsReached:
    - VCLS_AddFunc
    linkageType: ''
    returnType: void
    signature: void MCH_Init(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:53,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:56,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:58,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:60,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:66,1
    - Dst: prctl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:70,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:72,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - arg
    - vsb
    argTypes:
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 77
    functionName: vjl_set_thp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
    functionUses: 0
    functionsReached:
    - prctl
    - VSB_printf
    - VAS_errtxt
    - strcmp
    linkageType: ''
    returnType: int
    signature: int vjl_set_thp(const char *arg, struct vsb *vsb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:90,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:91,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:95,1
    - Dst: vjl_set_thp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:95,1
    - Dst: MGT_ComplainVSB
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:96,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:97,1
    - Dst: init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:98,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:105,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:106,1
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:110,1
    - Dst: vjl_set_thp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:116,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:121,1
    - Dst: vjl_set_thp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:121,1
    - Dst: MGT_ComplainVSB
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:123,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:124,1
    - Dst: init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:127,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 130
    functionName: vjl_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
    functionUses: 0
    functionsReached:
    - init
    - AN
    - keyval
    - vjl_set_thp
    - calloc
    - AZ
    - MGT_ComplainVSB
    - free
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int vjl_init(char **args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jme
    argTypes:
    - enum jail_master_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: vjl_master
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
    functionUses: 0
    functionsReached:
    - master
    linkageType: ''
    returnType: void
    signature: void vjl_master(enum jail_master_e jme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subproc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:143,1
    - Dst: prctl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:148,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - jse
    argTypes:
    - enum jail_subproc_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: vjl_subproc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
    functionUses: 0
    functionsReached:
    - prctl
    - subproc
    - MGT_Complain
    linkageType: ''
    returnType: void
    signature: void vjl_subproc(enum jail_subproc_e jse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_subdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dname
    - what
    - vsb
    argTypes:
    - char*
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: vjl_make_subdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
    functionUses: 0
    functionsReached:
    - make_subdir
    linkageType: ''
    returnType: int
    signature: int vjl_make_subdir(const char *dname, const char *what, struct vsb
      *vsb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:166,1
    - Dst: make_workdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:167,1
    - Dst: vjl_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:170,1
    - Dst: statfs
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:171,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:172,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:173,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:177,1
    - Dst: vjl_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - dname
    - what
    - vsb
    argTypes:
    - char*
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: vjl_make_workdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
    functionUses: 0
    functionsReached:
    - AN
    - make_workdir
    - VAS_errtxt
    - VSB_printf
    - vjl_master
    - statfs
    linkageType: ''
    returnType: int
    signature: int vjl_make_workdir(const char *dname, const char *what, struct vsb
      *vsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixfd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - what
    argTypes:
    - int
    - enum jail_fixfd_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: vjl_fixfd
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
    functionUses: 0
    functionsReached:
    - fixfd
    linkageType: ''
    returnType: void
    signature: void vjl_fixfd(int fd, enum jail_fixfd_e what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Decimal
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - err
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: parse_decimal
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - SF_Parse_Decimal
    linkageType: ''
    returnType: double
    signature: double parse_decimal(const char *p, const char **err)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:82,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:84,1
    - Dst: parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:89,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:91,1
    - Dst: parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:96,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:98,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:102,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:107,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - vsb
    - arg
    - pp
    - parse
    - fmt
    argTypes:
    - struct vsb*
    - char*
    - struct parspec*
    - parse_double_f
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 116
    functionName: tweak_generic_double
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - parse
    linkageType: ''
    returnType: int
    signature: "int tweak_generic_double(struct vsb *vsb, const char *arg, const struct
      parspec *pp,\n    parse_double_f parse, const char *fmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Decimal
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:125,1
    - Dst: VNUM_duration_unit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:129,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - p
    - err
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: parse_duration
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - isnan
    - VNUM_duration_unit
    - SF_Parse_Decimal
    linkageType: ''
    returnType: double
    signature: double parse_duration(const char *p, const char **err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:143,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:149,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:154,1
    - Dst: tweak_generic_double
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: tweak_timeout
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_cat
    - tweak_generic_double
    - strcmp
    linkageType: ''
    returnType: void
    signature: void tweak_timeout(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_double
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: tweak_duration
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_double
    linkageType: ''
    returnType: void
    signature: void tweak_duration(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_double
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: tweak_double
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_double
    linkageType: ''
    returnType: void
    signature: void tweak_double(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:183,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:185,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:187,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:189,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:191,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:193,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:195,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:197,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - vsb
    - arg
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: parse_boolean
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_cat
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int parse_boolean(struct vsb *vsb, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_boolean
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:212,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:217,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: tweak_boolean
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - parse_boolean
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void tweak_boolean(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:237,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:239,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:245,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:247,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:252,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:255,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:257,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:262,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:264,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:265,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:269,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:271,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:272,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:277,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:279,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 7
    argNames:
    - vsb
    - dest
    - arg
    - min
    - max
    - min_reason
    - max_reason
    argTypes:
    - struct vsb*
    - unsigned*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 282
    functionName: tweak_generic_uint
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_putc
    - strcasecmp
    - strtoul
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: int
    signature: "int tweak_generic_uint(struct vsb *vsb, volatile unsigned *dest, const
      char *arg,\n    const char *min, const char *max,\n    const char *min_reason,
      const char *max_reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_uint
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: tweak_uint
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_uint
    linkageType: ''
    returnType: void
    signature: void tweak_uint(struct vsb *vsb, const struct parspec *par, const char
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:302,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:303,1
    - Dst: tweak_generic_uint
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: tweak_uint_orzero
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_cat
    - tweak_generic_uint
    - strcmp
    linkageType: ''
    returnType: void
    signature: void tweak_uint_orzero(struct vsb *vsb, const struct parspec *par,
      const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:319,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:324,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:329,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - vsb
    - t
    argTypes:
    - struct vsb*
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 334
    functionName: fmt_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void fmt_bytes(struct vsb *vsb, uintmax_t t)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:345,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:347,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:352,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:354,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:358,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:360,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:361,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:362,1
    - Dst: fmt_bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:366,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:367,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:371,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:372,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:376,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:381,1
    - Dst: fmt_bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:383,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 5
    argNames:
    - vsb
    - dest
    - arg
    - min
    - max
    argTypes:
    - struct vsb*
    - ssize_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 386
    functionName: tweak_generic_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - fmt_bytes
    - VSB_printf
    - VSB_cat
    - VNUM_2bytes
    linkageType: ''
    returnType: int
    signature: "int tweak_generic_bytes(struct vsb *vsb, volatile ssize_t *dest, const
      char *arg,\n    const char *min, const char *max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: tweak_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_bytes
    linkageType: ''
    returnType: void
    signature: void tweak_bytes(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 413
    functionName: tweak_bytes_u
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_bytes
    linkageType: ''
    returnType: void
    signature: void tweak_bytes_u(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:427,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: tweak_vsl_buffer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - MCF_ParamConf
    - tweak_generic_bytes
    linkageType: ''
    returnType: void
    signature: void tweak_vsl_buffer(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bytes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:442,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 447
    functionName: tweak_vsl_reclen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - MCF_ParamConf
    - tweak_generic_bytes
    linkageType: ''
    returnType: void
    signature: void tweak_vsl_reclen(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:454,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:456,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:458,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:460,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:461,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:462,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 467
    functionName: tweak_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - REPLACE
    - TRUST_ME
    - VSB_quote
    linkageType: ''
    returnType: void
    signature: void tweak_string(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:481,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:482,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:483,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:484,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:485,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:486,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:487,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:489,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:492,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:495,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:500,1
    - Dst: tweak_generic_uint
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:507,1
    - Dst: tweak_generic_uint
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:512,1
    - Dst: tweak_generic_double
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:520,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:525,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:533,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 536
    functionName: tweak_poolparam
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VAV_Parse
    - VAV_Free
    - tweak_generic_uint
    - VSB_printf
    - tweak_generic_double
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void tweak_poolparam(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tweak_uint
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:549,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:552,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 557
    functionName: tweak_thread_pool_min
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - MCF_ParamConf
    - tweak_uint
    linkageType: ''
    returnType: void
    signature: "void tweak_thread_pool_min(struct vsb *vsb, const struct parspec *par,\n
      \   const char *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tweak_uint
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:564,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: tweak_thread_pool_max
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - MCF_ParamConf
    - tweak_uint
    linkageType: ''
    returnType: void
    signature: "void tweak_thread_pool_max(struct vsb *vsb, const struct parspec *par,\n
      \   const char *arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tweak_string
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:587,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:589,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:590,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:600,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:601,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:605,1
    - Dst: tweak_string
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 610
    functionName: tweak_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - tweak_string
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: void
    signature: void tweak_storage(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:600,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: STV_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: void
    signature: void STV_Foreach(stv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: tweak_alias
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - WRONG
    linkageType: ''
    returnType: void
    signature: void tweak_alias(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - 'no'
    - act
    argTypes:
    - uint8_t*
    - unsigned
    - enum bit_do
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 644
    functionName: bit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bit(uint8_t *p, unsigned no, enum bit_do act)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - l
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: bit_clear
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bit_clear(uint8_t *p, unsigned l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - l
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: bit_set
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void bit_set(uint8_t *p, unsigned l)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:672,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:674,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:675,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:680,1
    - Dst: bit_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:681,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:684,1
    - Dst: bit_set
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:685,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:688,1
    - Dst: bit_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:689,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:692,1
    - Dst: bit_set
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:693,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:697,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:698,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:702,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:706,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:707,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:710,1
    - Dst: bit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:712,1
    - Dst: bit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:714,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:716,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 7
    argNames:
    - vsb
    - p
    - l
    - arg
    - tags
    - desc
    - sign
    argTypes:
    - struct vsb*
    - uint8_t*
    - unsigned
    - char*
    - char**
    - char*
    - char
    assertStmts:
    - condition: (j < l)
      pos:
        line_end: 709
        line_start: 709
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    constantsTouched: []
    func_position:
      end: 718
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 718
    functionName: bit_tweak
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - VAV_Free
    - strcasecmp
    - VSB_printf
    - bit_set
    - strcmp
    - assert
    - bit
    - bit_clear
    linkageType: ''
    returnType: int
    signature: "int bit_tweak(struct vsb *vsb, uint8_t *p, unsigned l, const char
      *arg,\n    const char * const *tags, const char *desc, char sign)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:731,1
    - Dst: tweak_generic_bits
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:733,1
    - Dst: bit_tweak
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:738,1
    - Dst: bit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:744,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:749,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:751,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:753,1
    - Dst: bit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:757,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:758,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:761,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 8
    argNames:
    - vsb
    - par
    - arg
    - p
    - l
    - tags
    - desc
    - sign
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    - uint8_t*
    - unsigned
    - char**
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 763
    functionName: tweak_generic_bits
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 1
    functionsReached:
    - VSB_putc
    - VSB_printf
    - strcmp
    - bit
    - VSB_cat
    - bit_tweak
    - tweak_generic_bits
    linkageType: ''
    returnType: int
    signature: "int tweak_generic_bits(struct vsb *vsb, const struct parspec *par,
      const char *arg,\n    uint8_t *p, unsigned l, const char * const *tags, const
      char *desc,\n    char sign)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bits
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: tweak_vsl_mask
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_bits
    linkageType: ''
    returnType: void
    signature: void tweak_vsl_mask(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bits
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 798
    functionName: tweak_debug
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_bits
    linkageType: ''
    returnType: void
    signature: void tweak_debug(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bits
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: tweak_experimental
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_bits
    linkageType: ''
    returnType: void
    signature: void tweak_experimental(struct vsb *vsb, const struct parspec *par,
      const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tweak_generic_bits
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 836
    functionName: tweak_feature
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 0
    functionsReached:
    - tweak_generic_bits
    linkageType: ''
    returnType: void
    signature: void tweak_feature(struct vsb *vsb, const struct parspec *par, const
      char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:856,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:857,1
    - Dst: parse_boolean
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:858,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:861,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:862,1
    - Dst: tweak_vcc_feature
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:863,1
    - Dst: tweak_generic_bits
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c:865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - vsb
    - par
    - arg
    argTypes:
    - struct vsb*
    - struct parspec*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 867
    functionName: tweak_vcc_feature
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    functionUses: 1
    functionsReached:
    - bprintf
    - parse_boolean
    - tweak_vcc_feature
    - strcmp
    - TRUST_ME
    - tweak_generic_bits
    - strlen
    linkageType: ''
    returnType: void
    signature: void tweak_vcc_feature(struct vsb *vsb, const struct parspec *par,
      const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:69,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - fn
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: vext_tryopen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
    functionUses: 0
    functionsReached:
    - open
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vext_tryopen(void *priv, const char *fn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:84,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:85,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:86,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:87,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:88,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:90,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:92,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:94,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:95,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:97,1
    - Dst: VFIL_setpath
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:99,1
    - Dst: VFIL_searchpath
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:100,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:101,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:102,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:105,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 107
    functionName: vext_argument
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
    functionUses: 0
    functionsReached:
    - fprintf
    - VAV_Parse
    - AN
    - bstrcpy
    - bprintf
    - VFIL_setpath
    - VFIL_searchpath
    - strerror
    - strchr
    - ARGV_ERR
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void vext_argument(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:114,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:115,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - func
    - priv
    argTypes:
    - vext_iter_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: vext_iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
    functionUses: 1
    functionsReached:
    - VSB_data
    - func
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vext_iter(vext_iter_f *func, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:128,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:130,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:131,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:133,1
    - Dst: strrchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:134,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:139,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:140,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:142,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:142,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:144,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:146,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:147,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:147,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:148,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:148,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:149,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:149,1
    - Dst: xxxassert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:150,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:151,1
    - Dst: lseek
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:151,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:153,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:155,1
    - Dst: xxxassert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:156,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:159,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - vi
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 162
    functionName: vext_copyin
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read
    - AN
    - VRND_RandomCrypto
    - VSB_data
    - VSB_finish
    - xxxassert
    - VSB_printf
    - closefd
    - strrchr
    - AZ
    - write
    - VSB_cat
    - open
    - VSB_clear
    - VTAILQ_FOREACH
    - VSB_new_auto
    - lseek
    linkageType: ''
    returnType: void
    signature: void vext_copyin(struct vsb *vi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:169,1
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:170,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:171,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:175,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:177,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 179
    functionName: vext_load
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
    functionUses: 1
    functionsReached:
    - fprintf
    - dlopen
    - VSB_data
    - VTAILQ_FOREACH
    - XXXAN
    linkageType: ''
    returnType: void
    signature: void vext_load(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:186,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:187,1
    - Dst: XXXAZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:189,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:189,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:189,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - do_unlink
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: vext_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
    functionUses: 0
    functionsReached:
    - unlink
    - VSB_clear
    - VSB_len
    - XXXAZ
    - VSB_data
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vext_cleanup(int do_unlink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:55,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:56,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:57,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:57,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vv
    - val
    argTypes:
    - struct vjsn_val*
    - char*
    assertStmts:
    - condition: (vjsn_is_string(jv))
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: mgt_vcl_symtab_val
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 0
    functionsReached:
    - assert
    - vjsn_is_string
    - vjsn_child
    - AN
    linkageType: ''
    returnType: char
    signature: 'char *

      mgt_vcl_symtab_val(const struct vjsn_val *vv, const char *val)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:67,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:68,1
    - Dst: mcf_vcl_byname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:70,1
    - Dst: mgt_vcl_symtab_val
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:70,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:71,1
    - Dst: mgt_vcl_dep_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vp1
    - vv
    argTypes:
    - struct vclprog*
    - struct vjsn_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: mgt_vcl_import_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 0
    functionsReached:
    - AN
    - mgt_vcl_symtab_val
    - CHECK_OBJ_NOTNULL
    - mcf_vcl_byname
    - mgt_vcl_dep_add
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_import_vcl(struct vclprog *vp1, const struct vjsn_val
      *vv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:83,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:87,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:88,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:91,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:93,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:94,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:95,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:95,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:96,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:100,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:103,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:104,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:105,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:106,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:106,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:111,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:112,1
    - Dst: fchmod
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:112,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - nm
    - fm
    - to
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: mgt_vcl_cache_vmod
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 0
    functionsReached:
    - fprintf
    - VAS_errtxt
    - unlink
    - fchmod
    - AZ
    - write
    - open
    - read
    - closefd
    linkageType: ''
    returnType: int
    signature: int mgt_vcl_cache_vmod(const char *nm, const char *fm, const char *to)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:127,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:128,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:130,1
    - Dst: vjsn_is_true
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:131,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:133,1
    - Dst: mgt_vcl_symtab_val
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:134,1
    - Dst: mgt_vcl_symtab_val
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:135,1
    - Dst: mgt_vcl_symtab_val
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:136,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:138,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:139,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:142,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:143,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:144,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:145,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:146,1
    - Dst: mgt_vcl_cache_vmod
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:146,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:147,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:149,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:150,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:152,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - vp
    - vv
    argTypes:
    - struct vclprog*
    - struct vjsn_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 154
    functionName: mgt_vcl_import_vmod
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - mgt_vcl_symtab_val
    - CHECK_OBJ_NOTNULL
    - vjsn_child
    - REPLACE
    - strcmp
    - AZ
    - VTAILQ_INSERT_TAIL
    - mgt_vcl_cache_vmod
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    - vjsn_is_true
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_import_vmod(struct vclprog *vp, const struct vjsn_val
      *vv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:164,1
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:165,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:167,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:170,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:171,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:173,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:173,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:174,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:175,1
    - Dst: vjsn_is_object
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:175,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:176,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:179,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:179,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:180,1
    - Dst: mgt_vcl_symtab_val
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:182,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:183,1
    - Dst: mgt_vcl_import_vmod
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:184,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:185,1
    - Dst: mgt_vcl_import_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:186,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - vp
    - input
    argTypes:
    - struct vclprog*
    - char*
    assertStmts:
    - condition: (vjsn_is_object(v1))
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    - condition: (vjsn_is_array(vj->value))
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    - condition: (vjsn_is_string(v2))
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: mgt_vcl_symtab
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 1
    functionsReached:
    - fprintf
    - AN
    - mgt_vcl_symtab_val
    - mgt_vcl_import_vmod
    - CHECK_OBJ_NOTNULL
    - vjsn_child
    - vjsn_is_object
    - AZ
    - assert
    - vjsn_is_array
    - vjsn_is_string
    - vjsn_parse
    - strcmp
    - WRONG
    - mgt_vcl_import_vcl
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_symtab(struct vclprog *vp, const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vp
    argTypes:
    - struct vclprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: mgt_vcl_symtab_clean
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 0
    functionsReached:
    - vjsn_delete
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_symtab_clean(struct vclprog *vp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:206,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:207,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:209,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:211,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:212,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:214,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:215,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:216,1
    - Dst: mcf_vcl_vjsn_dump
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cli
    - vj
    - indent
    argTypes:
    - struct cli*
    - struct vjsn_val*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: mcf_vcl_vjsn_dump
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FOREACH
    - VCLI_Out
    - AN
    - mcf_vcl_vjsn_dump
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_vjsn_dump(struct cli *cli, const struct vjsn_val *vj,
      int indent)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:228,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:229,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:230,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:232,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:233,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:234,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:235,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:236,1
    - Dst: mcf_vcl_vjsn_dump
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:238,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:241,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:242,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:243,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:244,1
    - Dst: mcf_vcl_vjsn_dump
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:246,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:250,1
    - Dst: mcf_vcl_vjsn_dump
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 254
    functionName: mcf_vcl_symtab
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
    functionUses: 0
    functionsReached:
    - VTAILQ_EMPTY
    - mcf_vcl_vjsn_dump
    - VCLI_Out
    - mcf_is_label
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_symtab(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: vjn_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 0
    functionsReached:
    - ARGV_ERR
    linkageType: ''
    returnType: void
    signature: void vjn_init(char **args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jme
    argTypes:
    - enum jail_master_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: vjn_master
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vjn_master(enum jail_master_e jme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - jse
    argTypes:
    - enum jail_subproc_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: vjn_subproc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vjn_subproc(enum jail_subproc_e jse)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:104,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:105,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:107,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:109,1
    - Dst: MGT_Pick
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:110,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:111,1
    - Dst: init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:112,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:114,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:122,1
    - Dst: init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:123,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - j_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: VJ_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 0
    functionsReached:
    - init
    - VAV_Parse
    - AN
    - MGT_Pick
    - CHECK_OBJ_NOTNULL
    - VAV_Free
    - VSB_printf
    - ARGV_ERR
    linkageType: ''
    returnType: void
    signature: void VJ_Init(const char *j_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:133,1
    - Dst: master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jme
    argTypes:
    - enum jail_master_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: VJ_master
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 10
    functionsReached:
    - master
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VJ_master(enum jail_master_e jme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:140,1
    - Dst: subproc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - jse
    argTypes:
    - enum jail_subproc_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: VJ_subproc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 4
    functionsReached:
    - subproc
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VJ_subproc(enum jail_subproc_e jse)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:149,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:150,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:151,1
    - Dst: make_workdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:154,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:157,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:159,1
    - Dst: mkdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:160,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:161,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:163,1
    - Dst: chdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:168,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:169,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:170,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:174,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:176,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:178,1
    - Dst: fstatvfs
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:186,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:187,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:188,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:188,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:189,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:195,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:196,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:196,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - dname
    - vsb
    argTypes:
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 199
    functionName: VJ_make_workdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 0
    functionsReached:
    - chdir
    - AN
    - mkdir
    - make_workdir
    - CHECK_OBJ_NOTNULL
    - VAS_errtxt
    - unlink
    - VSB_printf
    - fstatvfs
    - AZ
    - VJ_master
    - open
    - closefd
    linkageType: ''
    returnType: int
    signature: int VJ_make_workdir(const char *dname, struct vsb *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:206,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:207,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:208,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:209,1
    - Dst: make_subdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:211,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:213,1
    - Dst: mkdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:214,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:216,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:217,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - dname
    - what
    - vsb
    argTypes:
    - char*
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 222
    functionName: VJ_make_subdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 1
    functionsReached:
    - make_subdir
    - AN
    - mkdir
    - CHECK_OBJ_NOTNULL
    - VAS_errtxt
    - VSB_printf
    - VJ_master
    linkageType: ''
    returnType: int
    signature: int VJ_make_subdir(const char *dname, const char *what, struct vsb
      *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:227,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:228,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:230,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:231,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - fname
    - ignore_enoent
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: VJ_unlink
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 1
    functionsReached:
    - unlink
    - VJ_master
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void VJ_unlink(const char *fname, int ignore_enoent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:239,1
    - Dst: rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:240,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:241,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:242,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: VJ_rmdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 1
    functionsReached:
    - fprintf
    - VJ_master
    - rmdir
    - strerror
    linkageType: ''
    returnType: void
    signature: void VJ_rmdir(const char *dname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:251,1
    - Dst: fixfd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - what
    argTypes:
    - int
    - enum jail_fixfd_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: VJ_fix_fd
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - fixfd
    linkageType: ''
    returnType: void
    signature: void VJ_fix_fd(int fd, enum jail_fixfd_e what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:88,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:89,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:90,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:92,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:94,1
    - Dst: VIN_DumpDefaults
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: mgt_DumpOptions
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - printf
    - VIN_DumpDefaults
    linkageType: ''
    returnType: void
    signature: void mgt_DumpOptions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:107,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:109,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:111,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:113,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:115,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:117,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:119,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:121,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:123,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:124,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:125,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:126,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:127,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:128,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:129,1
    - Dst: VIN_n_Arg
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:131,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:132,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:133,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:134,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:136,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:138,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:139,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:140,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:141,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:142,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:143,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:144,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:145,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:147,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:149,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:150,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:151,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:152,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:153,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:154,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:155,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:156,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:157,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:159,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:161,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:162,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:163,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:165,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:166,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:168,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:169,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:171,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:173,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:174,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:176,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:177,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:179,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:181,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:182,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:183,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:184,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:186,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:189,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:191,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:192,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:194,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:196,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:197,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:198,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:199,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:200,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 202
    functionName: usage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 5
    functionsReached:
    - printf
    - VIN_n_Arg
    - AN
    - free
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:222,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:223,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:226,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - arg
    - val
    argTypes:
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: arg_list_add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - REPLACE
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct arg_list
    signature: 'struct arg_list *

      arg_list_add(const char arg, const char *val)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:237,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: arg_list_count
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - strcmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned arg_list_count(const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:250,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:250,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:251,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:252,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:252,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:253,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:256,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:256,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:257,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:257,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: cli_check
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - VSB_finish
    - VSB_clear
    - exit
    - AZ
    - VSB_len
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void cli_check(const struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: mgt_stdin_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mgt_stdin_close(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:282,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:284,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:285,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: mgt_secret_atexit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - getpid
    - unlink
    - VJ_master
    linkageType: ''
    returnType: void
    signature: void mgt_secret_atexit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:297,1
    - Dst: asprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:297,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:299,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:300,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:301,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:302,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:305,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:307,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:308,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:312,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:312,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:313,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:313,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:315,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:316,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:317,1
    - Dst: atexit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts:
    - condition: (asprintf(&fn, "%s/_.secret", dirname) > 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    - condition: (1 == write(fdo, &b, 1))
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    constantsTouched: []
    func_position:
      end: 319
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 319
    functionName: make_secret
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - VAS_errtxt
    - asprintf
    - VRND_RandomCrypto
    - unlink
    - AZ
    - assert
    - open
    - VJ_master
    - write
    - atexit
    - ARGV_ERR
    - closefd
    linkageType: ''
    returnType: char
    signature: 'char *

      make_secret(const char *dirname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:326,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:328,1
    - Dst: vext_cleanup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:329,1
    - Dst: VJ_rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:330,1
    - Dst: VJ_rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:332,1
    - Dst: VJ_rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:333,1
    - Dst: chdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:334,1
    - Dst: VJ_rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 336
    functionName: mgt_Cflag_atexit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - chdir
    - getpid
    - vext_cleanup
    - VJ_rmdir
    - arg_list_count
    linkageType: ''
    returnType: void
    signature: void mgt_Cflag_atexit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:343,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:343,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:344,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:344,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:345,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:345,1
    - Dst: VSHA256_Test
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (VTIM_parse("Sun, 06 Nov 1994 08:49:37 GMT") == 784111777)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    - condition: (VTIM_parse("Sun Nov  6 08:49:37 1994") == 784111777)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    - condition: (VTIM_parse("Sunday, 06-Nov-94 08:49:37 GMT") == 784111777)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mgt_tests
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - assert
    - VTIM_parse
    - VSHA256_Test
    linkageType: ''
    returnType: void
    signature: void mgt_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:357,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:360,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:361,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:362,1
    - Dst: mgt_cli_init_cls
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:366,1
    - Dst: MCF_InitParams
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:368,1
    - Dst: VCC_VCL_Range
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:370,1
    - Dst: cli_check
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 373
    functionName: mgt_initialize
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - mgt_cli_init_cls
    - AN
    - MCF_InitParams
    - INIT_OBJ
    - getpid
    - VCC_VCL_Range
    - cli_check
    - VSB_new_auto
    linkageType: ''
    returnType: void
    signature: void mgt_initialize(struct cli *cli)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:378,1
    - Dst: MCF_DumpRstParam
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:379,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:380,1
    - Dst: mgt_DumpRstVsl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:381,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:382,1
    - Dst: mgt_DumpRstCli
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:383,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:384,1
    - Dst: mgt_DumpBuiltin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:385,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:386,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:387,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:388,1
    - Dst: mgt_DumpOptions
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:389,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - x_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 392
    functionName: mgt_x_arg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - mgt_DumpOptions
    - mgt_DumpBuiltin
    - strcmp
    - mgt_DumpRstCli
    - MCF_DumpRstParam
    - ARGV_ERR
    - mgt_DumpRstVsl
    - printf
    linkageType: ''
    returnType: void
    signature: void mgt_x_arg(const char *x_arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:405,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:405,1
    - Dst: fork
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:407,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:409,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:409,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:410,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:412,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:413,1
    - Dst: setsid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:413,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:415,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:420,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:421,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:423,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:425,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (setsid() > 1)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    constantsTouched: []
    func_position:
      end: 428
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 428
    functionName: mgt_eric
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read
    - VAS_errtxt
    - exit
    - VFIL_null_fd
    - AZ
    - assert
    - pipe
    - setsid
    - fork
    - closefd
    linkageType: ''
    returnType: int
    signature: int mgt_eric(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:437,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:438,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:439,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:441,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:441,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - eric_fd
    - u
    argTypes:
    - int
    - unsigned
    assertStmts:
    - condition: (write(eric_fd, &u, sizeof u) == sizeof u)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    constantsTouched: []
    func_position:
      end: 443
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 443
    functionName: mgt_eric_im_done
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - assert
    - write
    - VFIL_null_fd
    - closefd
    linkageType: ''
    returnType: void
    signature: void mgt_eric_im_done(int eric_fd, unsigned u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:452,1
    - Dst: fflush
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:454,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:455,1
    - Dst: MCH_Stop_Child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 6
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: mgt_sigint
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - MCH_Running
    - MCH_Stop_Child
    - MGT_Complain
    - fflush
    linkageType: ''
    returnType: void
    signature: void mgt_sigint(const struct vev *e, int what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:469,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:471,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: mgt_uptime
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - AN
    linkageType: ''
    returnType: void
    signature: void mgt_uptime(const struct vev *e, int what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: mgt_I_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void mgt_I_close(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:502,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:503,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:504,1
    - Dst: VFIL_setpath
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:505,1
    - Dst: VFIL_searchpath
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:506,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:507,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:508,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - fn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 514
    functionName: mgt_f_read
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - AN
    - VAS_errtxt
    - VFIL_setpath
    - REPLACE
    - VFIL_searchpath
    - ARGV_ERR
    - ALLOC_OBJ
    - free
    linkageType: ''
    returnType: struct f_arg
    signature: 'struct f_arg *

      mgt_f_read(const char *fn)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:522,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:523,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:524,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:525,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:526,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:527,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:528,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:529,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:530,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:531,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:532,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:534,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:535,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:535,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:536,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:536,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:537,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:538,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:539,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:539,1
    - Dst: arg_list_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - b_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 541
    functionName: mgt_b_conv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - arg_list_add
    - AN
    - VSB_new_auto
    - strcasecmp
    - VSB_finish
    - VSB_printf
    - REPLACE
    - strdup
    - arg_list_count
    - AZ
    - VSB_cat
    - VSB_data
    - VUS_is
    - ALLOC_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void mgt_b_conv(const char *b_arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:550,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:551,1
    - Dst: mgt_vcl_startup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:553,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:558,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:558,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:559,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:559,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:560,1
    - Dst: cli_check
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:562,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:564,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:565,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - cli
    - C_flag
    - fap
    argTypes:
    - struct cli*
    - unsigned
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 568
    functionName: mgt_process_f_arg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TAKE_OBJ_NOTNULL
    - VSB_finish
    - FREE_OBJ
    - VSB_clear
    - mgt_vcl_startup
    - cli_check
    - AZ
    - VSB_data
    - free
    - arg_list_count
    linkageType: ''
    returnType: int
    signature: int mgt_process_f_arg(struct cli *cli, unsigned C_flag, void **fap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:576,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:577,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:578,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:579,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:579,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:581,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:582,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:583,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:583,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:584,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:584,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:585,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:586,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:587,1
    - Dst: mkdtemp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:587,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:588,1
    - Dst: chmod
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 590
    functionName: create_bogo_n_arg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - AN
    - chmod
    - VSB_finish
    - mkdtemp
    - VSB_printf
    - strdup
    - AZ
    - getenv
    - VSB_cat
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: char
    signature: 'char *

      create_bogo_n_arg(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:599,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:600,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:601,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:602,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:603,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:603,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:604,1
    - Dst: VPF_Open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:605,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:605,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:607,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:609,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:611,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:612,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:612,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:613,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:614,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ppid
    - fmt
    argTypes:
    - pid_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 617
    functionName: create_pid_file
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 0
    functionsReached:
    - AN
    - VAS_errtxt
    - VSB_finish
    - ARGV_ERR
    - va_end
    - AZ
    - VJ_master
    - va_start
    - VSB_vprintf
    - VSB_data
    - VPF_Open
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: struct vpf_fh
    signature: 'struct vpf_fh *

      create_pid_file(pid_t *ppid, const char *fmt, ...)'
  - BBCount: 85
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:629,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:645,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:646,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:647,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:653,1
    - Dst: setbuf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:654,1
    - Dst: mgt_tests
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:656,1
    - Dst: mgt_initialize
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:658,1
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:660,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:664,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:666,1
    - Dst: VCS_Message
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:667,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:668,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:671,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:673,1
    - Dst: mgt_x_arg
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:674,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:675,1
    - Dst: arg_list_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:698,1
    - Dst: arg_list_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:707,1
    - Dst: arg_list_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:722,1
    - Dst: usage
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:725,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:726,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:731,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:733,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:734,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:737,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:739,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:740,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:743,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:746,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:748,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:749,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:751,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:752,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:757,1
    - Dst: arg_list_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:758,1
    - Dst: VSUB_closefrom
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:764,1
    - Dst: MCH_TrackHighFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:765,1
    - Dst: mgt_eric
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:771,1
    - Dst: MCH_TrackHighFd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:772,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:773,1
    - Dst: VRND_SeedAll
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:776,1
    - Dst: mgt_BuildVident
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:778,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:781,1
    - Dst: VCA_Config
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:782,1
    - Dst: VEV_New
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:783,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:784,1
    - Dst: XPORT_Init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:787,1
    - Dst: VJ_Init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:789,1
    - Dst: VSA_Init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:792,1
    - Dst: mgt_b_conv
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:795,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:798,1
    - Dst: VCA_Arg
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:801,1
    - Dst: mgt_f_read
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:805,1
    - Dst: vext_argument
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:808,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:811,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:812,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:814,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:815,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:816,1
    - Dst: MCF_ParamSet
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:820,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:822,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:824,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:825,1
    - Dst: MCF_ParamSet
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:827,1
    - Dst: MCF_ParamProtect
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:831,1
    - Dst: STV_Config
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:834,1
    - Dst: cli_check
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:839,1
    - Dst: VCLS_SetLimit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:842,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:844,1
    - Dst: create_bogo_n_arg
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:848,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:852,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:853,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:856,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:857,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:859,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:860,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:861,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:862,1
    - Dst: VIN_n_Arg
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:865,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:866,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:868,1
    - Dst: mgt_HostName
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:871,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:873,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:874,1
    - Dst: mgt_ProcTitle
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:878,1
    - Dst: openlog
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:880,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:882,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:883,1
    - Dst: VJ_make_workdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:884,1
    - Dst: MGT_ComplainVSB
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:885,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:889,1
    - Dst: setrlimit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:895,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:896,1
    - Dst: getrlimit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:896,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:898,1
    - Dst: setrlimit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:898,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:901,1
    - Dst: system
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:901,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:902,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:904,1
    - Dst: VJ_make_subdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:905,1
    - Dst: VJ_make_subdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:906,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:908,1
    - Dst: VJ_make_subdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:909,1
    - Dst: MGT_ComplainVSB
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:910,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:911,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:915,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:916,1
    - Dst: VJ_fix_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:917,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:918,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:919,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:922,1
    - Dst: atexit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:922,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:925,1
    - Dst: STV_Config
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:926,1
    - Dst: STV_Config_Final
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:929,1
    - Dst: mgt_vcl_init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:931,1
    - Dst: vext_copyin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:933,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:936,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:937,1
    - Dst: mgt_process_f_arg
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:938,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:941,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:943,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:944,1
    - Dst: create_pid_file
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:945,1
    - Dst: arg_list_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:949,1
    - Dst: create_pid_file
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:950,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:952,1
    - Dst: VCA_Arg
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:953,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:955,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:955,1
    - Dst: HSH_config
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:957,1
    - Dst: Wait_config
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:959,1
    - Dst: mgt_SHM_Init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:961,1
    - Dst: mgt_SHM_static_alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:963,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:963,1
    - Dst: VSC_mgt_New
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:964,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:966,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:967,1
    - Dst: mgt_cli_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:968,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:969,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:969,1
    - Dst: mgt_cli_telnet
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:970,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:971,1
    - Dst: VPF_Write
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:972,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:975,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:975,1
    - Dst: make_secret
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:978,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:979,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:981,1
    - Dst: VCS_String
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:981,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:982,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:982,1
    - Dst: mgt_cli_setup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:985,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:987,1
    - Dst: mgt_cli_secret
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:988,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:990,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:994,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:994,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:995,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:995,1
    - Dst: MCH_Init
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:997,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1000,1
    - Dst: mgt_cli_setup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1002,1
    - Dst: dup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1002,1
    - Dst: VEV_Once
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1004,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1006,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1010,1
    - Dst: mgt_has_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1012,1
    - Dst: arg_list_count
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1013,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1014,1
    - Dst: MCH_Start_Child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1017,1
    - Dst: mgt_eric_im_done
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1022,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1025,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1030,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1032,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1033,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1037,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1037,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1039,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1040,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1044,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1044,1
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1046,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1047,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1051,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1051,1
    - Dst: VEV_Loop
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1053,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1055,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1057,1
    - Dst: MCH_Stop_Child
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1058,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1059,1
    - Dst: mgt_cli_close_all
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1060,1
    - Dst: VEV_Destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1061,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1062,1
    - Dst: vext_cleanup
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1064,1
    - Dst: MGT_DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1064,1
    - Dst: rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1065,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1066,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1067,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1068,1
    - Dst: VPF_Remove
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1069,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c:1071,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 326
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (I_fd == -1)
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    - condition: (d_flag == 0 || F_flag == 0)
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    - condition: (!VTAILQ_EMPTY(&heritage.socks))
      pos:
        line_end: 954
        line_start: 954
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    constantsTouched: []
    func_position:
      end: 1072
      start: 619
    functionDepth: 6
    functionLinenumber: 619
    functionLinenumberEnd: 1072
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    functionUses: 1
    functionsReached:
    - arg_list_add
    - VSC_mgt_New
    - VPF_Remove
    - cli_check
    - mgt_BuildVident
    - vext_copyin
    - rmdir
    - MCH_Init
    - getpid
    - exit
    - mgt_eric
    - VCS_String
    - mgt_cli_telnet
    - VPF_Write
    - create_bogo_n_arg
    - VTAILQ_INIT
    - VEV_Once
    - strcmp
    - mgt_tests
    - setrlimit
    - strchr
    - mgt_HostName
    - free
    - VCLS_SetLimit
    - setbuf
    - VEV_Destroy
    - MCH_Start_Child
    - VJ_master
    - VJ_fix_fd
    - VJ_make_workdir
    - VSB_finish
    - mgt_x_arg
    - VJ_make_subdir
    - strlen
    - AN
    - STV_Config_Final
    - VTAILQ_EMPTY
    - atexit
    - ARGV_ERR
    - arg_list_count
    - VEV_Alloc
    - mgt_cli_setup
    - MGT_ComplainVSB
    - mgt_has_vcl
    - create_pid_file
    - MCF_ParamProtect
    - mgt_SHM_static_alloc
    - mgt_cli_master
    - mgt_eric_im_done
    - VFIL_null_fd
    - VCA_Config
    - vext_argument
    - MCH_Stop_Child
    - VAS_errtxt
    - MCH_TrackHighFd
    - mgt_cli_secret
    - system
    - VJ_Init
    - fprintf
    - memset
    - STV_Config
    - getenv
    - mgt_process_f_arg
    - VCA_Arg
    - VSB_data
    - mgt_cli_close_all
    - VTAILQ_FOREACH
    - VSUB_closefrom
    - mgt_initialize
    - XPORT_Init
    - VEV_Start
    - VSB_new_auto
    - openlog
    - mgt_ProcTitle
    - vext_cleanup
    - usage
    - getopt
    - VSB_destroy
    - mgt_SHM_Init
    - MGT_Complain
    - mgt_vcl_init
    - open
    - VSB_clear
    - sigaction
    - getrlimit
    - Wait_config
    - MGT_DO_DEBUG
    - VSA_Init
    - dup
    - VEV_Loop
    - printf
    - mgt_b_conv
    - MCF_ParamSet
    - vct_istchar
    - AZ
    - assert
    - VEV_New
    - VRND_SeedAll
    - VCS_Message
    - HSH_config
    - mgt_f_read
    - VIN_n_Arg
    - make_secret
    - closefd
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt.h:72,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - name
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: keyval
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 3
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      keyval(const char *p, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: ASSERT_JAIL_MASTER
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_JAIL_MASTER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: ASSERT_JAIL_SUBPROC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_JAIL_SUBPROC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt.h:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: pthread_create
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 15
    functionsReached:
    - WRONG
    linkageType: ''
    returnType: void
    signature: void pthread_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: MGT_FEATURE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MGT_FEATURE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: MGT_EXPERIMENT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MGT_EXPERIMENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: MGT_DO_DEBUG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MGT_DO_DEBUG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: MGT_VCC_FEATURE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MGT_VCC_FEATURE(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:62,1
    - Dst: MCF_ParamConf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - sock
    - nam
    - param
    - def
    argTypes:
    - int
    - int
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: tcp_probe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c
    functionUses: 0
    functionsReached:
    - MCF_ParamConf
    - getsockopt
    linkageType: ''
    returnType: void
    signature: void tcp_probe(int sock, int nam, const char *param, unsigned def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_listen_on
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:74,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:76,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:77,1
    - Dst: tcp_probe
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:79,1
    - Dst: tcp_probe
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:80,1
    - Dst: tcp_probe
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:81,1
    - Dst: tcp_probe
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:83,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (s > 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: tcp_keep_probes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c
    functionUses: 0
    functionsReached:
    - VTCP_listen_on
    - assert
    - ARGV_ERR
    - closefd
    - tcp_probe
    linkageType: ''
    returnType: void
    signature: void tcp_keep_probes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcp_keep_probes
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: MCF_TcpParams
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c
    functionUses: 1
    functionsReached:
    - tcp_keep_probes
    linkageType: ''
    returnType: void
    signature: void MCF_TcpParams(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sym
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: VCL_STATE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_STATE(sym, str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:90,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cli
    - s
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: mcf_vcl_parse_state
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - VCLI_SetResult
    linkageType: ''
    returnType: struct vclstate
    signature: 'struct vclstate *

      mcf_vcl_parse_state(struct cli *cli, const char *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sym
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: VCL_STATE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_STATE(sym, str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:100,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: mcf_vcl_byname
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FOREACH
    - strcmp
    linkageType: ''
    returnType: struct vclprog
    signature: 'struct vclprog *

      mcf_vcl_byname(const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:111,1
    - Dst: VCT_invalid_name
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:112,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:115,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:116,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:118,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cli
    - name
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: mcf_invalid_vclname
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - AN
    - VCLI_SetResult
    - VCT_invalid_name
    linkageType: ''
    returnType: int
    signature: int mcf_invalid_vclname(struct cli *cli, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mcf_invalid_vclname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:131,1
    - Dst: mcf_vcl_byname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:134,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:136,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cli
    - name
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: mcf_find_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - mcf_invalid_vclname
    - VCLI_Out
    - mcf_vcl_byname
    - VCLI_SetResult
    linkageType: ''
    returnType: struct vclprog
    signature: 'struct vclprog *

      mcf_find_vcl(struct cli *cli, const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mcf_invalid_vclname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:146,1
    - Dst: mcf_vcl_byname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:149,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:150,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cli
    - name
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: mcf_find_no_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - mcf_invalid_vclname
    - VCLI_Out
    - mcf_vcl_byname
    - VCLI_SetResult
    linkageType: ''
    returnType: int
    signature: int mcf_find_no_vcl(struct cli *cli, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vp
    argTypes:
    - struct vclprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: mcf_is_label
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mcf_is_label(const struct vclprog *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:170,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:171,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:172,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:174,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:175,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:177,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:178,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:181,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - vp_from
    - vp_to
    argTypes:
    - struct vclprog*
    - struct vclprog*
    assertStmts:
    - condition: (vp_to->state != VCL_STATE_COLD)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: mgt_vcl_dep_add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - mgt_vcl_set_cooldown
    - assert
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vcldep
    signature: 'struct vcldep *

      mgt_vcl_dep_add(struct vclprog *vp_from, struct vclprog *vp_to)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:192,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:193,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:194,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:197,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:197,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vcldep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: mgt_vcl_dep_del
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - mgt_vcl_set_cooldown
    - FREE_OBJ
    - VTIM_mono
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_dep_del(struct vcldep *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:208,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:212,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:213,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:214,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:215,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:216,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:217,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - name
    - state
    argTypes:
    - char*
    - struct vclstate*
    assertStmts:
    - condition: "(state == VCL_STATE_WARM ||\n\t       state == VCL_STATE_COLD ||\n\t
        \      state == VCL_STATE_AUTO ||\n\t       state == VCL_STATE_LABEL)"
      pos:
        line_end: 210
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: mgt_vcl_add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - REPLACE
    - assert
    - VTAILQ_INSERT_TAIL
    - XXXAN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vclprog
    signature: 'struct vclprog *

      mgt_vcl_add(const char *name, const struct vclstate *state)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:237,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:238,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:238,1
    - Dst: mgt_vcl_symtab_clean
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:240,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:242,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:243,1
    - Dst: mgt_vcl_dep_del
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:244,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:247,1
    - Dst: MGT_DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:251,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:252,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:252,1
    - Dst: strrchr
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:253,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:254,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:256,1
    - Dst: rmdir
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:263,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:264,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:265,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:267,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:268,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:269,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:271,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:272,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:273,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:274,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:276,1
    - Dst: MGT_DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:277,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:278,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:278,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:279,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:280,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:281,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:284,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - vp
    argTypes:
    - struct vclprog*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&vp->dto))
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    - condition: (dep->from == vp)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 286
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 286
    functionName: mgt_vcl_del
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - MGT_DO_DEBUG
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - unlink
    - FREE_OBJ
    - strrchr
    - mgt_vcl_symtab_clean
    - assert
    - AZ
    - VJ_master
    - VTAILQ_REMOVE
    - mgt_vcl_dep_del
    - rmdir
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_del(struct vclprog *vp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:291,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:295,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 298
    functionName: mgt_has_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 2
    functionsReached:
    - VTAILQ_EMPTY
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      mgt_has_vcl(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:310,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:315,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - vp
    - now
    argTypes:
    - struct vclprog*
    - vtim_mono
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 320
    functionName: mgt_vcl_set_cooldown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 2
    functionsReached:
    - VTAILQ_EMPTY
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_set_cooldown(struct vclprog *vp, vtim_mono now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:327,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:333,1
    - Dst: mgt_vcl_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:334,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:335,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:335,1
    - Dst: mgt_vcl_setstate
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cli
    - vp
    - warm
    argTypes:
    - struct cli*
    - struct vclprog*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 342
    functionName: mgt_vcl_settemp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - mgt_vcl_set_cooldown
    - mgt_vcl_askchild
    - VTIM_mono
    - mgt_vcl_setstate
    linkageType: ''
    returnType: int
    signature: int mgt_vcl_settemp(struct cli *cli, struct vclprog *vp, unsigned warm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:348,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:349,1
    - Dst: mgt_vcl_settemp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cli
    - vp
    argTypes:
    - struct cli*
    - struct vclprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: mgt_vcl_requirewarm
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - mgt_vcl_settemp
    - VCLI_SetResult
    linkageType: ''
    returnType: int
    signature: int mgt_vcl_requirewarm(struct cli *cli, struct vclprog *vp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:363,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:365,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:370,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:373,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:374,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:376,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - cli
    - vp
    - warm
    argTypes:
    - struct cli*
    - struct vclprog*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 388
    functionName: mgt_vcl_askchild
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VCLI_SetResult
    - VCLI_Out
    - MCH_Running
    - mgt_cli_askchild
    - MGT_Complain
    - free
    linkageType: ''
    returnType: int
    signature: int mgt_vcl_askchild(struct cli *cli, struct vclprog *vp, unsigned
      warm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:397,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:399,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:401,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:402,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:414,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:415,1
    - Dst: mgt_vcl_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:423,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:425,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - cli
    - vp
    - vs
    argTypes:
    - struct cli*
    - struct vclprog*
    - struct vclstate*
    assertStmts:
    - condition: (vs == VCL_STATE_WARM || vs == VCL_STATE_AUTO)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    - condition: (vs != VCL_STATE_LABEL)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 429
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 429
    functionName: mgt_vcl_setstate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - mgt_vcl_set_cooldown
    - mgt_vcl_askchild
    - assert
    - mcf_is_label
    - VTIM_mono
    linkageType: ''
    returnType: int
    signature: int mgt_vcl_setstate(struct cli *cli, struct vclprog *vp, const struct
      vclstate *vs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:442,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:446,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:447,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:448,1
    - Dst: mcf_vcl_parse_state
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:455,1
    - Dst: mgt_vcl_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:460,1
    - Dst: mgt_VccCompile
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:461,1
    - Dst: mgt_vcl_del
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:463,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:467,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:473,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:474,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:475,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:478,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:481,1
    - Dst: mgt_vcl_del
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:483,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:484,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:485,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:486,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:489,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:491,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:491,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 6
    argNames:
    - cli
    - vclname
    - vclsrc
    - vclsrcfile
    - state
    - C_flag
    argTypes:
    - struct cli*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 493
    functionName: mgt_new_vcl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - mgt_vcl_set_cooldown
    - VCLI_SetResult
    - mgt_vcl_del
    - mgt_vcl_add
    - VCLI_Out
    - mgt_VccCompile
    - AZ
    - mcf_vcl_parse_state
    - MCH_Running
    - mgt_cli_askchild
    - VTIM_mono
    - free
    linkageType: ''
    returnType: struct vclprog
    signature: "struct vclprog *\nmgt_new_vcl(struct cli *cli, const char *vclname,
      const char *vclsrc,\n    const char *vclsrcfile, const char *state, int C_flag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:505,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:505,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:507,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:508,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:510,1
    - Dst: mgt_new_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:513,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - cli
    - vclsrc
    - vclname
    - origin
    - C_flag
    argTypes:
    - struct cli*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 520
    functionName: mgt_vcl_startup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - AN
    - bprintf
    - mgt_new_vcl
    - AZ
    - MCH_Running
    linkageType: ''
    returnType: void
    signature: "void mgt_vcl_startup(struct cli *cli, const char *vclsrc, const char
      *vclname,\n    const char *origin, int C_flag)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:531,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:536,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:541,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:544,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:551,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:552,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:553,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:554,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:559,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:566,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:571,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:575,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - cli
    - status
    - p
    argTypes:
    - struct cli*
    - unsigned*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 578
    functionName: mgt_push_vcls
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - mgt_cli_askchild
    - mcf_is_label
    - VTAILQ_FOREACH
    - free
    linkageType: ''
    returnType: int
    signature: int mgt_push_vcls(struct cli *cli, unsigned *status, char **p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mcf_find_no_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:589,1
    - Dst: mgt_new_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:592,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:593,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 583
    functionDepth: 4
    functionLinenumber: 583
    functionLinenumberEnd: 595
    functionName: mcf_vcl_inline
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - MCH_Running
    - mgt_new_vcl
    - mcf_find_no_vcl
    - VCLI_Out
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_inline(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mcf_find_no_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:603,1
    - Dst: mgt_new_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:606,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:607,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 4
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: mcf_vcl_load
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - MCH_Running
    - mgt_new_vcl
    - mcf_find_no_vcl
    - VCLI_Out
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_load(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mcf_find_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:619,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:623,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:624,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:625,1
    - Dst: mcf_vcl_parse_state
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:629,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:634,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:635,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:636,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:637,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:641,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:642,1
    - Dst: mgt_vcl_setstate
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts:
    - condition: (vp->state != VCL_STATE_COLD)
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 648
      start: 613
    functionDepth: 5
    functionLinenumber: 613
    functionLinenumberEnd: 648
    functionName: mcf_vcl_state
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - mcf_find_vcl
    - VCLI_SetResult
    - VTAILQ_EMPTY
    - VCLI_Out
    - mcf_vcl_parse_state
    - assert
    - mcf_is_label
    - mgt_vcl_setstate
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_state(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mcf_find_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:659,1
    - Dst: mgt_vcl_requirewarm
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:665,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:668,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:669,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:670,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:671,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:673,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:676,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:677,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:679,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 682
    functionName: mcf_vcl_use
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - mcf_find_vcl
    - mgt_vcl_set_cooldown
    - VCLI_SetResult
    - VCLI_Out
    - mgt_vcl_requirewarm
    - mgt_cli_askchild
    - MCH_Running
    - VTIM_mono
    - free
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_use(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:690,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:691,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:692,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:694,1
    - Dst: mgt_vcl_discard
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:695,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:695,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:697,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:698,1
    - Dst: mgt_vcl_setstate
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:701,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:703,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:704,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:705,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:706,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:707,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:709,1
    - Dst: mgt_vcl_del
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - cli
    - vp
    argTypes:
    - struct cli*
    - struct vclprog*
    assertStmts:
    - condition: (vp != mgt_vcl_active)
      pos:
        line_end: 691
        line_start: 691
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    - condition: (status == CLIS_OK || status == CLIS_COMMS)
      pos:
        line_end: 705
        line_start: 705
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 711
      start: 684
    functionDepth: 5
    functionLinenumber: 684
    functionLinenumberEnd: 711
    functionName: mgt_vcl_discard
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - mgt_vcl_discard
    - VTAILQ_FIRST
    - AN
    - VTAILQ_EMPTY
    - mgt_vcl_del
    - AZ
    - assert
    - MCH_Running
    - mgt_cli_askchild
    - mcf_is_label
    - VTAILQ_REMOVE
    - free
    - mgt_vcl_setstate
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_discard(struct cli *cli, struct vclprog *vp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:719,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:720,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:723,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:724,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:729,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:735,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cli
    - glob
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 740
    functionName: mgt_vcl_discard_mark
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VCLI_SetResult
    - VCLI_Out
    - VTAILQ_INSERT_TAIL
    - fnmatch
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: int mgt_vcl_discard_mark(struct cli *cli, const char *glob)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:748,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:749,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:750,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:750,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:752,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:753,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:754,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:755,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:758,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:762,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:764,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - cli
    - vp
    argTypes:
    - struct cli*
    - struct vclprog*
    assertStmts:
    - condition: (!VTAILQ_EMPTY(&vp->dto))
      pos:
        line_end: 749
        line_start: 749
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 769
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 769
    functionName: mgt_vcl_discard_depfail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - VCLI_SetResult
    - VTAILQ_EMPTY
    - VCLI_Out
    - assert
    - mcf_is_label
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_discard_depfail(struct cli *cli, struct vclprog *vp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:777,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:778,1
    - Dst: mgt_vcl_discard_depfail
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 786
    functionName: mgt_vcl_discard_depcheck
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - mgt_vcl_discard_depfail
    linkageType: ''
    returnType: int
    signature: int mgt_vcl_discard_depcheck(struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:793,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:794,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 798
    functionName: mgt_vcl_discard_clear
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - AN
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_discard_clear(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:807,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:807,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:808,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:809,1
    - Dst: mgt_vcl_discard_mark
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:812,1
    - Dst: mgt_vcl_discard_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:813,1
    - Dst: mgt_vcl_discard_depcheck
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:818,1
    - Dst: mgt_vcl_discard_clear
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:819,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:821,1
    - Dst: mgt_vcl_discard
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:822,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:822,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&discardhead))
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    constantsTouched: []
    func_position:
      end: 823
      start: 801
    functionDepth: 6
    functionLinenumber: 801
    functionLinenumberEnd: 823
    functionName: mcf_vcl_discard
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - mgt_vcl_discard
    - mgt_vcl_discard_clear
    - VTAILQ_FIRST
    - VTAILQ_EMPTY
    - mgt_vcl_discard_depcheck
    - AZ
    - assert
    - mgt_vcl_discard_mark
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_discard(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:840,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:841,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:842,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:843,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:845,1
    - Dst: VTE_new
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:847,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:848,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:850,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:851,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:854,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:855,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:856,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:857,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:858,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:859,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:861,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:864,1
    - Dst: VTE_cat
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:867,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:869,1
    - Dst: VTE_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:869,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:870,1
    - Dst: VTE_format
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:870,1
    - Dst: VTE_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 873
    functionName: mcf_vcl_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VTE_new
    - VTAILQ_FIRST
    - AN
    - VCLI_SetResult
    - VTE_destroy
    - VCLI_Out
    - VTE_printf
    - VTE_cat
    - AZ
    - MCH_Running
    - mgt_cli_askchild
    - VTE_format
    - mcf_is_label
    - VTE_finish
    - VTAILQ_FOREACH
    - free
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_list(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:887,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:888,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:889,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:890,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:892,1
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:894,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:895,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:896,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:897,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:898,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:899,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:901,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:903,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:904,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:905,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:906,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:907,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:908,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:909,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:910,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:911,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:913,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:915,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:916,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:917,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:919,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:920,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:922,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:923,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 927
    functionName: mcf_vcl_list_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VTAILQ_FIRST
    - AN
    - VCLI_SetResult
    - VCLI_Out
    - VCLI_JSON_end
    - MCH_Running
    - mgt_cli_askchild
    - VCLI_JSON_begin
    - mcf_is_label
    - VTAILQ_FOREACH
    - free
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_list_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:936,1
    - Dst: mcf_vcl_check_dag
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:937,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:939,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:940,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:943,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - cli
    - tree
    - target
    argTypes:
    - struct cli*
    - struct vclprog*
    - struct vclprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 948
    functionName: mcf_vcl_check_dag
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - mcf_vcl_check_dag
    - VCLI_Out
    - VTAILQ_FOREACH
    - mcf_is_label
    linkageType: ''
    returnType: int
    signature: int mcf_vcl_check_dag(struct cli *cli, struct vclprog *tree, struct
      vclprog *target)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mcf_invalid_vclname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:960,1
    - Dst: mcf_vcl_byname
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:962,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:963,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:964,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:965,1
    - Dst: mcf_find_vcl
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:968,1
    - Dst: mcf_is_label
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:971,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:972,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:973,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:977,1
    - Dst: mcf_vcl_check_dag
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:978,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:979,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:982,1
    - Dst: mgt_vcl_requirewarm
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:987,1
    - Dst: mgt_vcl_requirewarm
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:992,1
    - Dst: mgt_vcl_dep_del
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:994,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:994,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:995,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:995,1
    - Dst: mgt_vcl_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:997,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1000,1
    - Dst: mgt_vcl_requirewarm
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1001,1
    - Dst: mgt_vcl_dep_add
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1003,1
    - Dst: MCH_Running
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1005,1
    - Dst: mgt_cli_askchild
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1008,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1010,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1011,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1013,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 1014
    functionName: mcf_vcl_label
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - mcf_find_vcl
    - VTAILQ_FIRST
    - mcf_vcl_check_dag
    - AN
    - VCLI_SetResult
    - VTAILQ_EMPTY
    - mgt_vcl_add
    - VCLI_Out
    - mcf_vcl_byname
    - mgt_vcl_requirewarm
    - MCH_Running
    - mgt_cli_askchild
    - mgt_vcl_dep_add
    - mcf_is_label
    - mcf_invalid_vclname
    - mgt_vcl_dep_del
    - free
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_label(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTE_new
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1026,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1027,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1029,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1030,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1031,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1034,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1035,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1037,1
    - Dst: VTE_finish
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1037,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1038,1
    - Dst: VTE_format
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1038,1
    - Dst: VTE_destroy
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1040
    functionName: mcf_vcl_deps
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VTE_new
    - AN
    - VTAILQ_EMPTY
    - VTE_destroy
    - VTE_printf
    - VTE_format
    - AZ
    - VTE_finish
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_deps(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1051,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1053,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1054,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1055,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1056,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1057,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1058,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1059,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1062,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1063,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1064,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1068,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1069,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1070,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1071,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1072,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1076
    functionName: mcf_vcl_deps_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VCLI_Out
    - VCLI_JSON_end
    - VCLI_JSON_begin
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void mcf_vcl_deps_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1089,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1090,1
    - Dst: mgt_vcl_set_cooldown
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1092,1
    - Dst: mgt_vcl_settemp
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - e
    - what
    argTypes:
    - struct vev*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1098
    functionName: mgt_vcl_poker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - mgt_vcl_settemp
    - VTIM_mono
    - mgt_vcl_set_cooldown
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_poker(const struct vev *e, int what)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1122,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1125,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1126,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1127,1
    - Dst: mgt_vcl_del
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1129
    functionName: mgt_vcl_atexit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 0
    functionsReached:
    - getpid
    - VTAILQ_FOREACH_SAFE
    - VTAILQ_EMPTY
    - mgt_vcl_del
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_atexit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VEV_Alloc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1135,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1136,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1141,1
    - Dst: VEV_Start
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1141,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1143,1
    - Dst: atexit
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1143,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1146
    functionName: mgt_vcl_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    functionUses: 1
    functionsReached:
    - VEV_Alloc
    - AN
    - AZ
    - VEV_Start
    - VCLS_AddFunc
    - atexit
    linkageType: ''
    returnType: void
    signature: void mgt_vcl_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: hcb_bits
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char hcb_bits(unsigned char x, unsigned char y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:77,1
    - Dst: hcb_bits
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:77,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:78,1
    - Dst: hcb_bits
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:78,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:79,1
    - Dst: hcb_bits
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:79,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:80,1
    - Dst: hcb_bits
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (hcb_bits(0x34, 0x34) == 8)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (hcb_bits(0x01, 0x22) == 2)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (hcb_bits(0x10, 0x0b) == 3)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 81
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 81
    functionName: hcb_build_bittbl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - assert
    - hcb_bits
    - AZ
    linkageType: ''
    returnType: void
    signature: void hcb_build_bittbl(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: hcb_is_node
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hcb_is_node(uintptr_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - u
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: hcb_is_y
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hcb_is_y(uintptr_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - struct objhead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: hcb_r_node
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - AZ
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t hcb_r_node(const struct objhead *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:145,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - uintptr_t
    assertStmts:
    - condition: (u & HCB_BIT_NODE)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: hcb_l_node
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - assert
    - AZ
    linkageType: ''
    returnType: struct objhead
    signature: 'struct objhead *

      hcb_l_node(uintptr_t u)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:154,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - y
    argTypes:
    - struct hcb_y*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: hcb_r_y
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t hcb_r_y(const struct hcb_y *y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:163,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - uintptr_t
    assertStmts:
    - condition: (u & HCB_BIT_Y)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: hcb_l_y
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - assert
    - AZ
    linkageType: ''
    returnType: struct hcb_y
    signature: 'struct hcb_y *

      hcb_l_y(uintptr_t u)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:177,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:180,1
    - Dst: hcb_bits
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - digest
    - oh2
    - y
    argTypes:
    - uint8_t*
    - struct objhead*
    - struct hcb_y*
    assertStmts:
    - condition: (u < DIGEST_LEN)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: hcb_crit_bit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - assert
    - hcb_bits
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned hcb_crit_bit(const uint8_t *digest, const struct objhead *oh2,
      struct hcb_y *y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:211,1
    - Dst: hcb_r_node
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:212,1
    - Dst: hcb_is_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:216,1
    - Dst: hcb_l_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:217,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:218,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:219,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:221,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:228,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:232,1
    - Dst: hcb_is_node
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:232,1
    - Dst: hcb_l_node
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:235,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:236,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:237,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:245,1
    - Dst: hcb_crit_bit
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:246,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:248,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:251,1
    - Dst: hcb_r_node
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:252,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:256,1
    - Dst: hcb_is_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:258,1
    - Dst: hcb_l_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:259,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:260,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:261,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:264,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:266,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:270,1
    - Dst: hcb_r_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 4
    argNames:
    - wrk
    - root
    - digest
    - noh
    argTypes:
    - struct worker*
    - struct hcb_root*
    - uint8_t*
    - struct objhead**
    assertStmts:
    - condition: (hcb_is_node(pp))
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (y->critbit != y2->critbit)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (y->ptr < DIGEST_LEN)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (y->ptr < DIGEST_LEN)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (s < 2)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (s2 < 2)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (s < 2)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (noh == NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 273
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 273
    functionName: hcb_insert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - hcb_l_node
    - TAKE_OBJ_NOTNULL
    - AN
    - hcb_is_y
    - CHECK_OBJ_NOTNULL
    - memcpy
    - hcb_r_y
    - VWMB
    - assert
    - hcb_is_node
    - hcb_crit_bit
    - memcmp
    - hcb_l_y
    - hcb_r_node
    linkageType: ''
    returnType: struct objhead
    signature: "struct objhead *\nhcb_insert(const struct worker *wrk, struct hcb_root
      *root,\n    const uint8_t *digest, struct objhead **noh)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hcb_r_node
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:284,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:289,1
    - Dst: hcb_is_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:289,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:293,1
    - Dst: hcb_is_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:293,1
    - Dst: hcb_l_y
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:294,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:295,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:297,1
    - Dst: hcb_r_node
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:298,1
    - Dst: VSTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - r
    - oh
    argTypes:
    - struct hcb_root*
    - struct objhead*
    assertStmts:
    - condition: (hcb_is_y(*p))
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (hcb_is_y(*p))
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (y->ptr < DIGEST_LEN)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (s < 2)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 305
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 305
    functionName: hcb_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - hcb_is_y
    - VSTAILQ_INSERT_TAIL
    - assert
    - hcb_l_y
    - hcb_r_node
    linkageType: ''
    returnType: void
    signature: void hcb_delete(struct hcb_root *r, const struct objhead *oh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:317,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:318,1
    - Dst: VSTAILQ_REMOVE_HEAD
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:319,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:320,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:322,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:323,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:324,1
    - Dst: HSH_DeleteObjHead
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:325,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:327,1
    - Dst: VSTAILQ_CONCAT
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:328,1
    - Dst: VTAILQ_CONCAT
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:329,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:330,1
    - Dst: Pool_Sumstat
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:331,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:332,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:334,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 335
    functionName: hcb_cleaner
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - VSTAILQ_CONCAT
    - Lck_Unlock
    - VSTAILQ_FOREACH_SAFE
    - VTAILQ_FOREACH_SAFE
    - return
    - CHECK_OBJ_NOTNULL
    - HSH_DeleteObjHead
    - FREE_OBJ
    - VTAILQ_CONCAT
    - NEEDLESS
    - Lck_Lock
    - VTAILQ_REMOVE
    - VSTAILQ_REMOVE_HEAD
    - VTIM_sleep
    - Pool_Sumstat
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void hcb_cleaner(struct worker *wrk, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:346,1
    - Dst: WRK_BgThread
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:347,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:348,1
    - Dst: hcb_build_bittbl
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: hcb_start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - hcb_build_bittbl
    - WRK_BgThread
    - memset
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void hcb_start(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:358,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:359,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:360,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:363,1
    - Dst: hcb_delete
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:364,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:365,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:366,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:368,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - wrk
    - oh
    argTypes:
    - struct worker*
    - struct objhead*
    assertStmts:
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: hcb_deref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - fprintf
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - Lck_AssertHeld
    - hcb_delete
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void hcb_deref(struct worker *wrk, struct objhead *oh)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:382,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:383,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:385,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:386,1
    - Dst: hcb_insert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:392,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:394,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:404,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:409,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:410,1
    - Dst: hcb_insert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:412,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:413,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:418,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:420,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:422,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - wrk
    - digest
    - noh
    argTypes:
    - struct worker*
    - void*
    - struct objhead**
    assertStmts:
    - condition: ((*noh)->refcnt == 1)
      pos:
        line_end: 385
        line_start: 385
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    constantsTouched: []
    func_position:
      end: 437
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 437
    functionName: hcb_lookup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - hcb_insert
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void hcb_lookup(struct worker *wrk, const void *digest, struct objhead
      **noh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:445,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: hcb_prep
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    functionUses: 0
    functionsReached:
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void hcb_prep(struct worker *wrk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:72,1
    - Dst: sscanf
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:73,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:77,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ac
    - av
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 87
    functionName: hcl_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
    functionUses: 0
    functionsReached:
    - fprintf
    - sscanf
    - ARGV_ERR
    linkageType: ''
    returnType: void
    signature: void hcl_init(int ac, char * const *av)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_CreateClass
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:99,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:100,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:101,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:104,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: hcl_start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - Lck_CreateClass
    - XXXAN
    - calloc
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void hcl_start(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:127,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:128,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:130,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:132,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:133,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:137,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:138,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:139,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:140,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:146,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:147,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:152,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:157,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:159,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:163,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:167,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - wrk
    - digest
    - noh
    argTypes:
    - struct worker*
    - void*
    - struct objhead**
    assertStmts:
    - condition: (sizeof oh->digest >= sizeof hdigest)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
    constantsTouched: []
    func_position:
      end: 170
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 170
    functionName: hcl_lookup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - VTAILQ_INSERT_TAIL
    - memcpy
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - VTAILQ_INSERT_BEFORE
    - memcmp
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void hcl_lookup(struct worker *wrk, const void *digest, struct objhead
      **noh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:182,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:183,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:184,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:186,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:187,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:188,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:190,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:194,1
    - Dst: HSH_DeleteObjHead
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - wrk
    - oh
    argTypes:
    - struct worker*
    - struct objhead*
    assertStmts:
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: hcl_deref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - HSH_DeleteObjHead
    - CAST_OBJ_NOTNULL
    - assert
    - Lck_AssertHeld
    - Lck_Lock
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void hcl_deref(struct worker *wrk, struct objhead *oh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_CreateClass
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:57,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hsl_start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c
    functionUses: 0
    functionsReached:
    - Lck_New
    - Lck_CreateClass
    linkageType: ''
    returnType: void
    signature: void hsl_start(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:74,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:75,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:77,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:79,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:80,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:81,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:87,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:88,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:96,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:98,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:102,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:103,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - wrk
    - digest
    - noh
    argTypes:
    - struct worker*
    - void*
    - struct objhead**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 106
    functionName: hsl_lookup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - memcpy
    - Lck_Lock
    - VTAILQ_INSERT_BEFORE
    - memcmp
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void hsl_lookup(struct worker *wrk, const void *digest, struct objhead
      **noh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:117,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:118,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:119,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:121,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:123,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:127,1
    - Dst: HSH_DeleteObjHead
      Src: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - wrk
    - oh
    argTypes:
    - struct worker*
    - struct objhead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: hsl_deref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - HSH_DeleteObjHead
    - Lck_AssertHeld
    - Lck_Lock
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void hsl_deref(struct worker *wrk, struct objhead *oh)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:62,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:63,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:64,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:67,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:70,1
    - Dst: MGT_Pick
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:75,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:76,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:77,1
    - Dst: struct hash_slinger*::init
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:80,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - h_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: HSH_config
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c
    functionUses: 1
    functionsReached:
    - VAV_Parse
    - MGT_Pick
    - AN
    - CHECK_OBJ_NOTNULL
    - struct hash_slinger*::init
    - VSB_printf
    - ARGV_ERR
    - ASSERT_MGT
    linkageType: ''
    returnType: void
    signature: void HSH_config(const char *h_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: TBLSIZE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TBLSIZE(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - bufsize
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: ENTRIES
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTRIES(buf, bufsize, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: TBLENTRIES
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TBLENTRIES(tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tbl
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: TBLENTRY
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TBLENTRY(tbl, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: ENTRYLEN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTRYLEN(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: ENTRYSIZE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTRYSIZE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:94,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:94,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:96,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct vht_table*
    assertStmts:
    - condition: (tbl->maxsize - TBLSIZE(tbl) >= VHT_ENTRY_SIZE)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: vht_newentry
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - assert
    - INIT_OBJ
    - TBLENTRY
    - TBLSIZE
    linkageType: ''
    returnType: void
    signature: void vht_newentry(struct vht_table *tbl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:109,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:113,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:118,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:119,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:120,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:122,1
    - Dst: ENTRYLEN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:123,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:125,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:128,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:132,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:134,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:135,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:135,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - tbl
    - max
    argTypes:
    - struct vht_table*
    - ssize_t
    assertStmts:
    - condition: (e->offset == u)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e->offset >= u)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (v <= tbl->n)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: vht_trim
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - FINI_OBJ
    - TBLENTRY
    - CHECK_OBJ_NOTNULL
    - TBLSIZE
    - assert
    - memmove
    - ENTRYLEN
    linkageType: ''
    returnType: void
    signature: void vht_trim(struct vht_table *tbl, ssize_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:146,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:147,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:148,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:149,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:150,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:150,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:151,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - tbl
    - buf
    - len
    argTypes:
    - struct vht_table*
    - char*
    - size_t
    assertStmts:
    - condition: (TBLSIZE(tbl) + len <= tbl->maxsize)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e->offset + e->namelen == tbl->size)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: vht_appendname
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - TBLENTRY
    - CHECK_OBJ_NOTNULL
    - memcpy
    - TBLSIZE
    - AZ
    - assert
    linkageType: ''
    returnType: void
    signature: void vht_appendname(struct vht_table *tbl, const char *buf, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:163,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:164,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:165,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:166,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:166,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:167,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - tbl
    - buf
    - len
    argTypes:
    - struct vht_table*
    - char*
    - size_t
    assertStmts:
    - condition: (TBLSIZE(tbl) + len <= tbl->maxsize)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e->offset + e->namelen + e->valuelen == tbl->size)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: vht_appendvalue
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TBLENTRY
    - CHECK_OBJ_NOTNULL
    - TBLSIZE
    - assert
    linkageType: ''
    returnType: void
    signature: void vht_appendvalue(struct vht_table *tbl, const char *buf, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:180,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:181,1
    - Dst: vht_trim
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:182,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:183,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:185,1
    - Dst: vht_newentry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct vht_table*
    assertStmts:
    - condition: (tbl->maxsize < VHT_ENTRY_SIZE)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (tbl->maxsize <= tbl->protomax)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: VHT_NewEntry
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vht_newentry
    - TBLSIZE
    - assert
    - vht_trim
    linkageType: ''
    returnType: void
    signature: void VHT_NewEntry(struct vht_table *tbl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:202,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:204,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:205,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:212,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:213,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:221,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:223,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:224,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:231,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:232,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:233,1
    - Dst: ENTRYSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:234,1
    - Dst: vht_trim
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:237,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:237,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:239,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:239,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:241,1
    - Dst: vht_newentry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:243,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:245,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:245,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:246,1
    - Dst: vht_appendname
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:247,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:256,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:257,1
    - Dst: ENTRYLEN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:259,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:260,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:261,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:261,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:261,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:270,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:271,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:272,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:275,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:280,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:281,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:282,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:284,1
    - Dst: ENTRYLEN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:284,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:289,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:289,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:291,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 70
    argCount: 2
    argNames:
    - tbl
    - idx
    argTypes:
    - struct vht_table*
    - unsigned
    assertStmts:
    - condition: (tbl->maxsize <= tbl->protomax)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e == TBLENTRY(tbl, idx))
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e == TBLENTRY(tbl, idx))
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e->offset >= lentry)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (idx == tbl->n - 1)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e->offset + ENTRYLEN(e) <= tbl->size)
      pos:
        line_end: 283
        line_start: 283
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (sizeof tmp >= VHT_ENTRY_SIZE)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (tbl->maxsize >= VHT_ENTRY_SIZE)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (tbl->maxsize - TBLSIZE(tbl) >= VHT_ENTRY_SIZE + lname)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (l == lentry)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (e->offset == 0)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 298
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 298
    functionName: VHT_NewEntry_Indexed
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - VHT_AppendName
    - FINI_OBJ
    - INIT_OBJ
    - TBLENTRY
    - CHECK_OBJ_NOTNULL
    - memcpy
    - vht_newentry
    - TBLSIZE
    - assert
    - memmove
    - vht_trim
    - vht_appendname
    - ENTRYLEN
    - ENTRYSIZE
    - VHT_NewEntry
    linkageType: ''
    returnType: int
    signature: int VHT_NewEntry_Indexed(struct vht_table *tbl, unsigned idx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:304,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:305,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:308,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:310,1
    - Dst: vht_trim
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:311,1
    - Dst: vht_appendname
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tbl
    - buf
    - len
    argTypes:
    - struct vht_table*
    - char*
    - ssize_t
    assertStmts:
    - condition: (tbl->maxsize <= tbl->protomax)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 316
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 316
    functionName: VHT_AppendName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 1
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - vht_trim
    - vht_appendname
    - strlen
    linkageType: ''
    returnType: void
    signature: void VHT_AppendName(struct vht_table *tbl, const char *buf, ssize_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:323,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:326,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:328,1
    - Dst: vht_trim
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:329,1
    - Dst: vht_appendvalue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tbl
    - buf
    - len
    argTypes:
    - struct vht_table*
    - char*
    - ssize_t
    assertStmts:
    - condition: (tbl->maxsize <= tbl->protomax)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 334
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 334
    functionName: VHT_AppendValue
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - vht_trim
    - strlen
    - vht_appendvalue
    linkageType: ''
    returnType: void
    signature: void VHT_AppendValue(struct vht_table *tbl, const char *buf, ssize_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:340,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:341,1
    - Dst: vht_trim
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:344,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:345,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tbl
    - maxsize
    argTypes:
    - struct vht_table*
    - size_t
    assertStmts:
    - condition: (TBLSIZE(tbl) <= maxsize)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (tbl->maxsize <= tbl->protomax)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: VHT_SetMaxTableSize
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - assert
    - TBLSIZE
    - vht_trim
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VHT_SetMaxTableSize(struct vht_table *tbl, size_t maxsize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:356,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:357,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:358,1
    - Dst: vht_trim
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:365,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:366,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:366,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:368,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:374,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:379,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:380,1
    - Dst: ENTRIES
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:380,1
    - Dst: TBLENTRIES
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:380,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - tbl
    - protomax
    argTypes:
    - struct vht_table*
    - size_t
    assertStmts:
    - condition: (TBLSIZE(tbl) <= tbl->maxsize)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (tbl->maxsize <= tbl->protomax)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (protomax <= UINT_MAX)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 388
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 388
    functionName: VHT_SetProtoMax
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - malloc
    - memcpy
    - TBLENTRIES
    - TBLSIZE
    - assert
    - ENTRIES
    - vht_trim
    - PRNDUP
    - free
    linkageType: ''
    returnType: int
    signature: int VHT_SetProtoMax(struct vht_table *tbl, size_t protomax)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:395,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:408,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:414,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:415,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tbl
    - idx
    - plen
    argTypes:
    - struct vht_table*
    - unsigned
    - size_t*
    assertStmts:
    - condition: (e->offset + e->namelen <= tbl->size)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 419
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 419
    functionName: VHT_LookupName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - TBLENTRY
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VHT_LookupName(const struct vht_table *tbl, unsigned idx, size_t *plen)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:426,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:439,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:445,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:446,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tbl
    - idx
    - plen
    argTypes:
    - struct vht_table*
    - unsigned
    - size_t*
    assertStmts:
    - condition: (e->offset + e->namelen + e->valuelen <= tbl->size)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 450
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 450
    functionName: VHT_LookupValue
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - TBLENTRY
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VHT_LookupValue(const struct vht_table *tbl, unsigned idx, size_t *plen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:457,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:459,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:462,1
    - Dst: VHT_SetProtoMax
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:463,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tbl
    - protomax
    argTypes:
    - struct vht_table*
    - size_t
    assertStmts:
    - condition: (sizeof (struct vht_entry) <= VHT_ENTRY_SIZE)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 470
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 470
    functionName: VHT_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - AN
    - FINI_OBJ
    - INIT_OBJ
    - VHT_SetProtoMax
    - assert
    linkageType: ''
    returnType: int
    signature: int VHT_Init(struct vht_table *tbl, size_t protomax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:476,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:477,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct vht_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: VHT_Fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - free
    - memset
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VHT_Fini(struct vht_table *tbl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:499,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:501,1
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:507,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:509,1
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:512,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:513,1
    - Dst: TBLENTRY
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:517,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:518,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:521,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:522,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:523,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:525,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:526,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:532,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:537,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:538,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:542,1
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:545,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:547,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:551,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:554,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:555,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct vht_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 559
    functionName: vht_matchtable
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - TBLENTRY
    - va_arg
    - TBLSIZE
    - strncmp
    - va_start
    - printf
    - strlen
    - va_end
    linkageType: ''
    returnType: int
    signature: int vht_matchtable(struct vht_table *tbl, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:570,1
    - Dst: VHT_LookupName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:573,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:574,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:574,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:575,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:575,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:575,1
    - Dst: VHT_LookupValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:576,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:577,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:578,1
    - Dst: VHT_LookupValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:581,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:582,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:582,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:583,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:583,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:583,1
    - Dst: VHT_LookupName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:586,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:587,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:587,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:588,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:588,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:588,1
    - Dst: VHT_LookupValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:589,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:590,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:591,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:594,1
    - Dst: VHT_LookupName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:594,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:595,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:596,1
    - Dst: VHT_LookupValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:596,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:597,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:599,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (l == strlen(":authority"))
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (l == strlen("www-authenticate"))
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (l == strlen("/index.html"))
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 602
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 602
    functionName: test_1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - assert
    - VHT_LookupName
    - strncmp
    - printf
    - strlen
    - VHT_LookupValue
    linkageType: ''
    returnType: void
    signature: void test_1(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:612,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:614,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:614,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:616,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:617,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:618,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:619,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:619,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:621,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:621,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:623,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:624,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:624,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:626,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:627,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:627,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:629,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:630,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:632,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (TBLSIZE(tbl) == VHT_ENTRY_SIZE + 10)
      pos:
        line_end: 618
        line_start: 618
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 635
      start: 604
    functionDepth: 4
    functionLinenumber: 604
    functionLinenumberEnd: 635
    functionName: test_2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - VHT_AppendName
    - VHT_AppendValue
    - vht_matchtable
    - TBLSIZE
    - AZ
    - assert
    - VHT_Init
    - VHT_Fini
    - printf
    - VHT_NewEntry
    linkageType: ''
    returnType: void
    signature: void test_2(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:645,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:647,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:647,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:649,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:650,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:651,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:652,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:653,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:654,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:655,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:656,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:657,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:658,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:658,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:661,1
    - Dst: VHT_SetProtoMax
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:661,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:662,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:662,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:665,1
    - Dst: VHT_SetMaxTableSize
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:665,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:668,1
    - Dst: VHT_SetMaxTableSize
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:668,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:669,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:669,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:672,1
    - Dst: VHT_SetMaxTableSize
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:672,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:673,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:673,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:676,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:677,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:678,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:679,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:679,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:682,1
    - Dst: VHT_SetMaxTableSize
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:682,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:683,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:683,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:684,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:685,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:685,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:688,1
    - Dst: VHT_SetProtoMax
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:688,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:689,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:689,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:690,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:691,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:691,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:693,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:695,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (VHT_SetMaxTableSize(tbl, VHT_ENTRY_SIZE * 2 + 6 * 2 + 1) == -1)
      pos:
        line_end: 664
        line_start: 664
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 698
      start: 637
    functionDepth: 4
    functionLinenumber: 637
    functionLinenumberEnd: 698
    functionName: test_3
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - VHT_AppendName
    - VHT_AppendValue
    - vht_matchtable
    - VHT_SetProtoMax
    - AZ
    - assert
    - VHT_Init
    - VHT_SetMaxTableSize
    - VHT_Fini
    - printf
    - VHT_NewEntry
    linkageType: ''
    returnType: void
    signature: void test_3(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:715,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:717,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:717,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:720,1
    - Dst: VHT_NewEntry_Indexed
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:720,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:721,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:722,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:722,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:725,1
    - Dst: VHT_NewEntry_Indexed
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:725,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:726,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:727,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:727,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:728,1
    - Dst: TBLSIZE
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:728,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:731,1
    - Dst: VHT_NewEntry_Indexed
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:731,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:732,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:733,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:733,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:736,1
    - Dst: VHT_NewEntry_Indexed
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:736,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:737,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:737,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:741,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:742,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:742,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:743,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:743,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:744,1
    - Dst: VHT_NewEntry_Indexed
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:744,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:745,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:746,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:746,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:748,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:749,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 700
    functionDepth: 4
    functionLinenumber: 700
    functionLinenumberEnd: 752
    functionName: test_4
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - VHT_AppendName
    - VHT_AppendValue
    - vht_matchtable
    - TBLSIZE
    - AZ
    - VHT_Init
    - VHT_NewEntry_Indexed
    - VHT_Fini
    - printf
    - strlen
    - VHT_NewEntry
    linkageType: ''
    returnType: void
    signature: void test_4(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:763,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:765,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:770,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:775,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:775,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:778,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:779,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:780,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:781,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:781,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:783,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:784,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:785,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:786,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:786,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:788,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:789,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:790,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:791,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:791,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:793,1
    - Dst: VHT_NewEntry_Indexed
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:793,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:794,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:795,1
    - Dst: vht_matchtable
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:795,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:797,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:798,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sizeof buf_b > 0)
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    - condition: (sizeof buf_a > 0)
      pos:
        line_end: 764
        line_start: 764
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    constantsTouched: []
    func_position:
      end: 801
      start: 754
    functionDepth: 4
    functionLinenumber: 754
    functionLinenumberEnd: 801
    functionName: test_5
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 0
    functionsReached:
    - VHT_AppendName
    - VHT_AppendValue
    - vht_matchtable
    - AZ
    - assert
    - VHT_Init
    - VHT_NewEntry_Indexed
    - VHT_Fini
    - printf
    - VHT_NewEntry
    linkageType: ''
    returnType: void
    signature: void test_5(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:807,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:810,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:815,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:817,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:819,1
    - Dst: test_1
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:822,1
    - Dst: test_2
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:823,1
    - Dst: test_3
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:824,1
    - Dst: test_4
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:825,1
    - Dst: test_5
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 803
    functionDepth: 5
    functionLinenumber: 803
    functionLinenumberEnd: 829
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    functionUses: 1
    functionsReached:
    - fprintf
    - test_3
    - test_5
    - test_2
    - strcmp
    - test_4
    - printf
    - test_1
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:86,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:89,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:90,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - mask
    argTypes:
    - unsigned
    assertStmts:
    - condition: (mask > 0)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - condition: (mask <= 8)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: tbl_new
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - AN
    - calloc
    linkageType: ''
    returnType: struct tbl
    signature: 'struct tbl *

      tbl_new(unsigned mask)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tbl_free
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:104,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - table
    argTypes:
    - struct tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: tbl_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    functionUses: 1
    functionsReached:
    - free
    - tbl_free
    linkageType: ''
    returnType: void
    signature: void tbl_free(struct tbl* table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:116,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:117,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:118,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:119,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:120,1
    - Dst: tbl_new
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:128,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:129,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:136,1
    - Dst: tbl_add
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:145,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:146,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 6
    argNames:
    - tbl
    - code
    - codelen
    - bits
    - len
    - chr
    argTypes:
    - struct tbl*
    - uint32_t
    - unsigned
    - uint32_t
    - unsigned
    - char
    assertStmts:
    - condition: (tbl->mask > 0)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - condition: (codelen <= maxlen)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - condition: (len > 0)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - condition: (codelen > 0)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - condition: (b < tbl->n)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    constantsTouched: []
    func_position:
      end: 151
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 151
    functionName: tbl_add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    functionUses: 1
    functionsReached:
    - AN
    - tbl_add
    - tbl_new
    - AZ
    - assert
    linkageType: ''
    returnType: void
    signature: "void tbl_add(struct tbl *tbl, uint32_t code, unsigned codelen,\n    uint32_t
      bits, unsigned len, char chr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:156,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:160,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - c
    - l
    argTypes:
    - uint32_t
    - int
    assertStmts:
    - condition: (l <= 32)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: print_lsb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    functionUses: 0
    functionsReached:
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: void print_lsb(uint32_t c, int l)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:172,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:175,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:176,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:177,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:180,1
    - Dst: print_lsb
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:181,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:182,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:184,1
    - Dst: print_lsb
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:186,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:188,1
    - Dst: print_lsb
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:189,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:190,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:192,1
    - Dst: print_lsb
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:193,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:194,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:196,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:201,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:203,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:206,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:208,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:209,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:210,1
    - Dst: isgraph
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:211,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:212,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:215,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:216,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:218,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:219,1
    - Dst: tbl_print
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - struct tbl*
    assertStmts:
    - condition: (tbl->e[u].len == tbl->mask)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - condition: "(tbl->e[u].next->idx - (tbl->idx + u)\n\t\t\t    <= UINT8_MAX)"
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    constantsTouched: []
    func_position:
      end: 225
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 225
    functionName: tbl_print
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    functionUses: 1
    functionsReached:
    - print_lsb
    - tbl_print
    - assert
    - isgraph
    - printf
    linkageType: ''
    returnType: void
    signature: void tbl_print(const struct tbl *tbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:237,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:238,1
    - Dst: tbl_new
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:241,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:242,1
    - Dst: tbl_add
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:245,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:248,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:249,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:250,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:251,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:253,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:254,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:255,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:257,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:258,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:259,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:260,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:261,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:262,1
    - Dst: tbl_print
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:263,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:264,1
    - Dst: tbl_free
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    functionUses: 1
    functionsReached:
    - vmin
    - AN
    - tbl_new
    - tbl_add
    - tbl_print
    - printf
    - tbl_free
    - vmax
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: VHD_FSM_FUNC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_FUNC(NAME, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:96,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - d
    - state
    argTypes:
    - struct vhd_decode*
    - enum vhd_state_e
    assertStmts:
    - condition: (state > VHD_S__MIN && state < VHD_S__MAX)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: vhd_set_state
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    linkageType: ''
    returnType: void
    signature: void vhd_set_state(struct vhd_decode *d, enum vhd_state_e state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:105,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:106,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct vhd_decode*
    assertStmts:
    - condition: (d->state + 1 < VHD_S__MAX)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: vhd_next_state
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - vhd_set_state
    linkageType: ''
    returnType: void
    signature: void vhd_next_state(struct vhd_decode *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:115,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: vhd_skip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - vhd_next_state
    linkageType: ''
    returnType: void
    signature: void vhd_skip(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:125,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:126,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:127,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:129,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts:
    - condition: (ctx->d->state < VHD_S__MAX)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (s->arg1 < VHD_S__MAX)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: vhd_goto
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - vhd_set_state
    linkageType: ''
    returnType: void
    signature: void vhd_goto(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:139,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:145,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:147,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:149,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:151,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: vhd_idle
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - vhd_set_state
    linkageType: ''
    returnType: void
    signature: void vhd_idle(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:170,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:172,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:173,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:178,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:180,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:182,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:192,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts:
    - condition: (UINT_MAX >= UINT32_MAX)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (ctx->d->state < VHD_S__MAX)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (i->pfx >= 4 && i->pfx <= 7)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 207
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 207
    functionName: vhd_integer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - vhd_next_state
    - assert
    linkageType: ''
    returnType: void
    signature: void vhd_integer(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:212,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:213,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:214,1
    - Dst: VHT_SetMaxTableSize
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:217,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: vhd_set_max
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - VHT_SetMaxTableSize
    - CHECK_OBJ_NOTNULL
    - vhd_next_state
    linkageType: ''
    returnType: void
    signature: void vhd_set_max(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:226,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:227,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:228,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: vhd_set_idx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vhd_next_state
    linkageType: ''
    returnType: void
    signature: void vhd_set_idx(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:242,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:243,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:248,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:249,1
    - Dst: VHT_LookupName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:254,1
    - Dst: VHT_LookupValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:258,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:261,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:267,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:271,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:273,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:274,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:279,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:282,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts:
    - condition: (ctx->d->state < VHD_S__MAX)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (l <= UINT_MAX)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (lu->l <= l)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (ctx->out == ctx->out_e)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 284
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 284
    functionName: vhd_lookup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - memcpy
    - vmin_t
    - vhd_next_state
    - assert
    - VHT_LookupName
    - WRONG
    - VHT_LookupValue
    linkageType: ''
    returnType: void
    signature: void vhd_lookup(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:289,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:290,1
    - Dst: VHT_NewEntry
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:292,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: vhd_new
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - VHT_NewEntry
    - vhd_next_state
    linkageType: ''
    returnType: void
    signature: void vhd_new(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:300,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:301,1
    - Dst: VHT_NewEntry_Indexed
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:303,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: vhd_new_idx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - VHT_NewEntry_Indexed
    - vhd_next_state
    linkageType: ''
    returnType: void
    signature: void vhd_new_idx(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:315,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:317,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:319,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:322,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts:
    - condition: (ctx->d->state < VHD_S__MAX)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (s->arg1 < VHD_S__MAX)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 326
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 326
    functionName: vhd_branch_zidx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - vhd_set_state
    - vhd_next_state
    linkageType: ''
    returnType: void
    signature: void vhd_branch_zidx(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:335,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:337,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:343,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts:
    - condition: (ctx->d->state < VHD_S__MAX)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (s->arg1 < VHD_S__MAX)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 347
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 347
    functionName: vhd_branch_bit0
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - vhd_set_state
    - vhd_next_state
    linkageType: ''
    returnType: void
    signature: void vhd_branch_bit0(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:356,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:357,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:362,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:364,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:367,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:379,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:384,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:387,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:390,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:397,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts:
    - condition: (ctx->d->state < VHD_S__MAX)
      pos:
        line_end: 356
        line_start: 356
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 399
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 399
    functionName: vhd_raw
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - VHT_AppendName
    - INIT_OBJ
    - memcpy
    - CHECK_OBJ_NOTNULL
    - VHT_AppendValue
    - vhd_next_state
    - assert
    - WRONG
    linkageType: ''
    returnType: void
    signature: void vhd_raw(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:409,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:410,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:415,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:417,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:420,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:425,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:426,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:427,1
    - Dst: vhd_next_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:445,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:459,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:473,1
    - Dst: VHT_AppendName
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:483,1
    - Dst: VHT_AppendValue
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:486,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:489,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:495,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - ctx
    - first
    argTypes:
    - struct vhd_ctx*
    - unsigned
    assertStmts:
    - condition: (ctx->d->state < VHD_S__MAX)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (huf->pos < HUFDEC_LEN)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (hufdec[huf->pos].mask > 0)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (hufdec[huf->pos].mask <= 8)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (huf->pos < HUFDEC_LEN)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (r != VHD_OK)
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (huf->pos < HUFDEC_LEN)
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 497
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 497
    functionName: vhd_huffman
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - VHT_AppendName
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VHT_AppendValue
    - vhd_next_state
    - assert
    - WRONG
    linkageType: ''
    returnType: void
    signature: void vhd_huffman(struct vhd_ctx *ctx, unsigned first)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - enum vhd_ret_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: VHD_Error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      VHD_Error(enum vhd_ret_e r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME
    - ','
    - VAL
    - ','
    - DESC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: VHD_RET
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_RET(NAME, VAL, DESC)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:524,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:525,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:526,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:527,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:528,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:529,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:534,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:535,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:547,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:556,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:564,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 8
    argNames:
    - d
    - tbl
    - in
    - inlen
    - p_inused
    - out
    - outlen
    - p_outused
    argTypes:
    - struct vhd_decode*
    - struct vht_table*
    - uint8_t*
    - size_t
    - size_t*
    - char*
    - size_t
    - size_t*
    assertStmts:
    - condition: (*p_inused <= inlen)
      pos:
        line_end: 533
        line_start: 533
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (*p_outused <= outlen)
      pos:
        line_end: 534
        line_start: 534
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (d->state < VHD_S__MAX)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (in + *p_inused <= ctx->in)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (out + *p_outused <= ctx->out)
      pos:
        line_end: 565
        line_start: 565
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 570
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 570
    functionName: VHD_Decode
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - WRONG
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: enum vhd_ret_e
    signature: "enum vhd_ret_e VHD_Decode(struct vhd_decode *d, struct vht_table *tbl,\n
      \   const uint8_t *in, size_t inlen, size_t *p_inused,\n    char *out, size_t
      outlen, size_t *p_outused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: VHD_FSM_FUNC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_FUNC(NAME, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:576,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:577,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:578,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct vhd_decode*
    assertStmts:
    - condition: (VHD_S__MAX <= UINT16_MAX)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (HUFDEC_LEN <= UINT16_MAX)
      pos:
        line_end: 577
        line_start: 577
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 582
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 582
    functionName: VHD_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - INIT_OBJ
    linkageType: ''
    returnType: void
    signature: void VHD_Init(struct vhd_decode *d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:599,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:600,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:605,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:606,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:615,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:616,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - buflen
    - h
    argTypes:
    - uint8_t*
    - size_t
    - char*
    assertStmts:
    - condition: (u <= 0xf)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 627
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 627
    functionName: hexbuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - isspace
    - AN
    - AZ
    - assert
    - WRONG
    linkageType: ''
    returnType: size_t
    signature: size_t hexbuf(uint8_t *buf, size_t buflen, const char *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:637,1
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:640,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:643,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:644,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:645,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:649,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - b
    - l
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 655
    functionName: match
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 18
    functionsReached:
    - va_arg
    - strncmp
    - va_start
    - printf
    - strlen
    - va_end
    linkageType: ''
    returnType: int
    signature: int match(const char *b, size_t l, ...)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:667,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:668,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:669,1
    - Dst: VHD_Decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:675,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:681,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:682,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:702,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:705,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:715,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:718,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:727,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:732,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:732,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 7
    argNames:
    - d
    - tbl
    - in
    - in_l
    - out
    - out_l
    - m
    argTypes:
    - struct vhd_decode*
    - struct vht_table*
    - uint8_t*
    - size_t
    - char*
    - size_t
    - unsigned
    assertStmts:
    - condition: (in_u <= in_l)
      pos:
        line_end: 680
        line_start: 680
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (out_u <= out_l)
      pos:
        line_end: 681
        line_start: 681
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (out_l - out_u > 0)
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - condition: (out_l - out_u > 0)
      pos:
        line_end: 714
        line_start: 714
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    constantsTouched: []
    func_position:
      end: 733
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 733
    functionName: decode
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 2
    functionsReached:
    - AN
    - return
    - CHECK_OBJ_NOTNULL
    - VHD_Decode
    - NEEDLESS
    - assert
    - WRONG
    - printf
    linkageType: ''
    returnType: enum vhd_ret_e
    signature: "enum vhd_ret_e decode(struct vhd_decode *d, struct vht_table *tbl,
      uint8_t *in, size_t in_l,\n    char *out, size_t out_l, unsigned m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 745
    functionName: CHECK_RET
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RET(r, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 756
    functionName: CHECK_INT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_INT(d, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:767,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:768,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:769,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:770,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:771,1
    - Dst: CHECK_INT
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:772,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:775,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:776,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:777,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:778,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:779,1
    - Dst: CHECK_INT
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:780,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:783,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:784,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:785,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:786,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:787,1
    - Dst: CHECK_INT
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:788,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:791,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:792,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:793,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:794,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 796
    functionName: test_integer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - decode
    - vhd_set_state
    - VHD_Init
    - CHECK_INT
    - hexbuf
    - CHECK_RET
    linkageType: ''
    returnType: void
    signature: void test_integer(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:808,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:809,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:810,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:812,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:813,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:814,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:814,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:817,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:818,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:819,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:821,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 823
    functionName: test_raw
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - decode
    - vhd_set_state
    - AZ
    - VHD_Init
    - match
    - hexbuf
    - CHECK_RET
    linkageType: ''
    returnType: void
    signature: void test_raw(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:835,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:836,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:838,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:839,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:840,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:841,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:841,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:844,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:845,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:847,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:848,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:849,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:852,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:853,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:855,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:856,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:857,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:860,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:861,1
    - Dst: vhd_set_state
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:863,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:864,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 866
    functionName: test_huffman
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - decode
    - vhd_set_state
    - AZ
    - VHD_Init
    - match
    - hexbuf
    - CHECK_RET
    linkageType: ''
    returnType: void
    signature: void test_huffman(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:879,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:882,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:885,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:886,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:887,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:887,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:892,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:894,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:895,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:896,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:896,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:901,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:904,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:905,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:906,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:906,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:911,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:913,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:914,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:915,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 918
    functionName: test_c2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - decode
    - AZ
    - VHD_Init
    - match
    - hexbuf
    - CHECK_RET
    linkageType: ''
    returnType: void
    signature: void test_c2(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:932,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:932,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:933,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:936,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:939,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:940,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:941,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:941,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:949,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:951,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:952,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:953,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:953,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:962,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:965,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:966,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:967,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:967,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 920
    functionDepth: 4
    functionLinenumber: 920
    functionLinenumberEnd: 976
    functionName: test_c3
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AZ
    - VHD_Init
    - VHT_Init
    - CHECK_RET
    - match
    - VHT_Fini
    - hexbuf
    - decode
    linkageType: ''
    returnType: void
    signature: void test_c3(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:990,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:990,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:991,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:994,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:996,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:997,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:998,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:998,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1006,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1008,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1009,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1010,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1010,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1019,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1022,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1023,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1024,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1024,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 978
    functionDepth: 4
    functionLinenumber: 978
    functionLinenumberEnd: 1033
    functionName: test_c4
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AZ
    - VHD_Init
    - VHT_Init
    - CHECK_RET
    - match
    - VHT_Fini
    - hexbuf
    - decode
    linkageType: ''
    returnType: void
    signature: void test_c4(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1047,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1047,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1048,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1051,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1057,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1058,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1059,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1059,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1067,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1069,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1070,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1071,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1071,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1079,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1087,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1088,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1089,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1089,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1035
    functionDepth: 4
    functionLinenumber: 1035
    functionLinenumberEnd: 1100
    functionName: test_c5
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AZ
    - VHD_Init
    - VHT_Init
    - CHECK_RET
    - match
    - VHT_Fini
    - hexbuf
    - decode
    linkageType: ''
    returnType: void
    signature: void test_c5(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1114,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1114,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1115,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1118,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1123,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1124,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1125,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1125,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1133,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1135,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1136,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1137,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1137,1
    - Dst: hexbuf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1145,1
    - Dst: decode
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1151,1
    - Dst: CHECK_RET
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1152,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1153,1
    - Dst: match
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1153,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - mode
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1102
    functionDepth: 4
    functionLinenumber: 1102
    functionLinenumberEnd: 1164
    functionName: test_c6
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached:
    - AZ
    - VHD_Init
    - VHT_Init
    - CHECK_RET
    - match
    - VHT_Fini
    - hexbuf
    - decode
    linkageType: ''
    returnType: void
    signature: void test_c6(unsigned mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1178
    functionName: do_test
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_test(name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1182,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1185,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1190,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1192,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1194,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1196,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1198,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1202,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1203,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1204,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1206,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1207,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1208,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1209,1
    - Dst: do_test
      Src: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c:1210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1213
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    functionUses: 1
    functionsReached:
    - fprintf
    - printf
    - do_test
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:92,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:94,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:96,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:99,1
    - Dst: WS_ReserveLumps
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:104,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:107,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:108,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:115,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:124,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - ws
    - fd
    - vsl
    - deadline
    - niov
    argTypes:
    - struct ws*
    - int*
    - struct vsl_log*
    - vtim_real
    - unsigned
    assertStmts:
    - condition: (niov >= 3)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    - condition: (sz < UINT_MAX)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    constantsTouched: []
    func_position:
      end: 127
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 127
    functionName: V1L_Open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - WS_Overflowed
    - WS_Snapshot
    - INIT_OBJ
    - WS_Release
    - WS_Alloc
    - WS_MarkOverflow
    - assert
    - WS_Reservation
    - WS_ReserveLumps
    linkageType: ''
    returnType: struct v1l
    signature: "struct v1l *\nV1L_Open(struct ws *ws, int *fd, struct vsl_log *vsl,\n
      \   vtim_real deadline, unsigned niov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - v1l
    argTypes:
    - struct v1l*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: V1L_NoRollback
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void V1L_NoRollback(struct v1l *v1l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:145,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:146,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:148,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:151,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:155,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - v1lp
    - cnt
    argTypes:
    - struct v1l**
    - uint64_t*
    assertStmts:
    - condition: (*v1l->vdp_priv == v1l)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: V1L_Close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - WS_Rollback
    - AN
    - V1L_Flush
    - TAKE_OBJ_NOTNULL
    - assert
    - ZERO_OBJ
    linkageType: ''
    returnType: stream_close_t
    signature: stream_close_t V1L_Close(struct v1l **v1lp, uint64_t *cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:168,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:180,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:182,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - v1l
    - abytes
    argTypes:
    - struct v1l*
    - ssize_t
    assertStmts:
    - condition: (abytes > 0)
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    - condition: (v1l->liov >= bytes)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: v1l_prune
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - assert
    - memmove
    - AZ
    linkageType: ''
    returnType: void
    signature: void v1l_prune(struct v1l *v1l, ssize_t abytes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:199,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:200,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:201,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:203,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:208,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:209,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:226,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:227,1
    - Dst: writev
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:235,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:252,1
    - Dst: v1l_prune
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:259,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:263,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:265,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:266,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:279,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - v1l
    argTypes:
    - struct v1l*
    assertStmts:
    - condition: (v1l->niov <= v1l->siov)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    - condition: (v1l->werr == SC_NULL)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    constantsTouched: []
    func_position:
      end: 281
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 281
    functionName: V1L_Flush
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 1
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - writev
    - bprintf
    - VTIM_real
    - v1l_prune
    - VAS_errtxt
    - assert
    - strlen
    - VSLb
    linkageType: ''
    returnType: stream_close_t
    signature: stream_close_t V1L_Flush(struct v1l *v1l)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:288,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:289,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:295,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:297,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:299,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:300,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - v1l
    - ptr
    - alen
    argTypes:
    - struct v1l*
    - void*
    - ssize_t
    assertStmts:
    - condition: (v1l->niov < v1l->siov)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    constantsTouched: []
    func_position:
      end: 310
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 310
    functionName: V1L_Write
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - AN
    - V1L_Flush
    - CHECK_OBJ_NOTNULL
    - assert
    - TRUST_ME
    - WRONG
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t V1L_Write(struct v1l *v1l, const void *ptr, ssize_t alen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:316,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:318,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:319,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:331,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - v1l
    argTypes:
    - struct v1l*
    assertStmts:
    - condition: (v1l->ciov == v1l->siov)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    - condition: (v1l->siov >= 3)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    - condition: (v1l->ciov < v1l->siov)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    - condition: (v1l->niov < v1l->siov)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: V1L_Chunked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - assert
    - V1L_Flush
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void V1L_Chunked(struct v1l *v1l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:346,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:348,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:349,1
    - Dst: V1L_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - v1l
    argTypes:
    - struct v1l*
    assertStmts:
    - condition: (v1l->ciov < v1l->siov)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: V1L_EndChunk
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - assert
    - V1L_Write
    - V1L_Flush
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void V1L_EndChunk(struct v1l *v1l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:369,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 374
    functionName: v1l_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void v1l_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:382,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:383,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:385,1
    - Dst: V1L_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:388,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 394
    functionName: v1l_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - AN
    - V1L_Flush
    - CHECK_OBJ_NOTNULL
    - AZ
    - V1L_Write
    linkageType: ''
    returnType: void
    signature: "void v1l_bytes(struct vdp_ctx *vdc, enum vdp_action act, void **priv,\n
      \   const void *ptr, ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:413,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - vdc
    - priv
    - capacity
    argTypes:
    - struct vdp_ctx*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 419
    functionName: v1l_io_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void v1l_io_init(VRT_CTX, struct vdp_ctx *vdc, void **priv, int capacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: v1l_io_init
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdc
    - priv
    - capacity
    argTypes:
    - struct vdp_ctx*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: v1l_io_upgrade
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - v1l_io_init
    linkageType: ''
    returnType: void
    signature: void v1l_io_upgrade(VRT_CTX, struct vdp_ctx *vdc, void **priv, int
      capacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:446,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:447,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:448,1
    - Dst: VSCARAB_CHECK
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:449,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:450,1
    - Dst: vdpio_pull
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:452,1
    - Dst: VSCARAB_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:455,1
    - Dst: V1L_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - vdc
    - this
    - scarab
    argTypes:
    - struct vdp_ctx*
    - struct vdp_entry*
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 440
    functionDepth: 3
    functionLinenumber: 440
    functionLinenumberEnd: 458
    functionName: v1l_io_lease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSCARAB_CHECK
    - vdpio_pull
    - VSCARAB_FOREACH
    - AZ
    - CAST_OBJ_NOTNULL
    - V1L_Write
    linkageType: ''
    returnType: void
    signature: void v1l_io_lease(struct vdp_ctx *vdc, struct vdp_entry *this, struct
      vscarab *scarab)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:61,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:62,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:63,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:68,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:69,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:70,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:80,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:83,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:84,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:85,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:92,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:93,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:94,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - vc
    - htc
    - d
    - len
    argTypes:
    - struct vfp_ctx*
    - struct http_conn*
    - void*
    - ssize_t
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (len > 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (l >= 0)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (i < SSIZE_MAX / 2)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (l < SSIZE_MAX / 2)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (i <= len)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (i >= 0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: v1f_read
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - vmin
    - memcpy
    - CHECK_OBJ_NOTNULL
    - VAS_errtxt
    - assert
    - VTCP_Assert
    - VSLbs
    - read
    - TOSTRAND
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t v1f_read(const struct vfp_ctx *vc, struct http_conn *htc, void
      *d, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:108,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:109,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:110,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:111,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - vc
    - htc
    argTypes:
    - struct vfp_ctx*
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: v1f_chunk_end
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - v1f_read
    - VFP_Error
    linkageType: ''
    returnType: enum vfp_status
    signature: enum vfp_status v1f_chunk_end(struct vfp_ctx *vc, struct http_conn
      *htc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:133,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:135,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:136,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:140,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:142,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:143,1
    - Dst: vct_ishex
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:145,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:146,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:151,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:153,1
    - Dst: vct_ishex
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:155,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:160,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:163,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:164,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:166,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:169,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:170,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:172,1
    - Dst: strtoumax
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:176,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:178,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:181,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 3
    argNames:
    - vc
    - htc
    - szp
    argTypes:
    - struct vfp_ctx*
    - struct http_conn*
    - ssize_t*
    assertStmts:
    - condition: (*szp == -1)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    constantsTouched: []
    func_position:
      end: 185
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 185
    functionName: v1f_chunked_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - vct_ishex
    - AN
    - vct_isows
    - CHECK_OBJ_NOTNULL
    - v1f_read
    - assert
    - VFP_Error
    - strtoumax
    linkageType: ''
    returnType: enum vfp_status
    signature: enum vfp_status v1f_chunked_hdr(struct vfp_ctx *vc, struct http_conn
      *htc, ssize_t *szp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:198,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:206,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:208,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:213,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - htc
    argTypes:
    - struct http_conn*
    assertStmts:
    - condition: (pfd->revents & POLLIN)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (r == 1)
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (errno == EINTR)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: v1f_poll
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - assert
    - poll
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int v1f_poll(const struct http_conn *htc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:232,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:233,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:234,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:235,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:236,1
    - Dst: v1f_chunked_hdr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:241,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:248,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:250,1
    - Dst: v1f_chunk_end
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:258,1
    - Dst: v1f_poll
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:264,1
    - Dst: v1f_chunked_hdr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:266,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:272,1
    - Dst: v1f_chunk_end
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:273,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - vc
    - vfe
    - ptr
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 275
    functionName: v1f_chunked_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - v1f_chunked_hdr
    - AN
    - CHECK_OBJ_NOTNULL
    - v1f_read
    - CAST_OBJ_NOTNULL
    - AZ
    - v1f_chunk_end
    - v1f_poll
    - VFP_Error
    linkageType: ''
    returnType: void
    signature: "void v1f_chunked_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void
      *ptr,\n    ssize_t *lp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:292,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:293,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:294,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:295,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:296,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:303,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:304,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 312
    functionName: v1f_straight_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - vmin
    - AN
    - CHECK_OBJ_NOTNULL
    - v1f_read
    - CAST_OBJ_NOTNULL
    - VFP_Error
    linkageType: ''
    returnType: void
    signature: "void v1f_straight_pull(struct vfp_ctx *vc, struct vfp_entry *vfe,
      void *p,\n    ssize_t *lp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:327,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:328,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:329,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:330,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:332,1
    - Dst: v1f_read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:336,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 343
    functionName: v1f_eof_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - v1f_read
    - CAST_OBJ_NOTNULL
    - VFP_Error
    linkageType: ''
    returnType: void
    signature: void v1f_eof_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void *p,
      ssize_t *lp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:358,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:359,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:361,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:362,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:364,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:365,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:368,1
    - Dst: VFP_Push
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:369,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:374,1
    - Dst: VFP_Push
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:375,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:380,1
    - Dst: VFP_Push
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:381,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - vfc
    - htc
    argTypes:
    - struct vfp_ctx*
    - struct http_conn*
    assertStmts:
    - condition: (htc->content_length == -1)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (htc->content_length > 0)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    - condition: (htc->content_length == -1)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    constantsTouched: []
    func_position:
      end: 390
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 390
    functionName: V1F_Setup_Fetch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VFP_Push
    - AZ
    - assert
    - WRONG
    linkageType: ''
    returnType: int
    signature: int V1F_Setup_Fetch(struct vfp_ctx *vfc, struct http_conn *htc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:52,1
    - Dst: V1L_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:54,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:56,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:56,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:57,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:58,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:59,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:62,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:62,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - req
    - v1lp
    - msg
    argTypes:
    - struct req*
    - struct v1l**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: v1d_error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c
    functionUses: 0
    functionsReached:
    - VDP_Close
    - V1L_Close
    - AN
    - VTCP_Assert
    - write
    - VSLbs
    - TOSTRAND
    - VSLb
    linkageType: ''
    returnType: void
    signature: void v1d_error(struct req *req, struct v1l **v1lp, const char *msg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:80,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:81,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:82,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:85,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:88,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:89,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:90,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:92,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:93,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:95,1
    - Dst: V1L_Open
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:97,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:98,1
    - Dst: v1d_error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:102,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:107,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:110,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:116,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:117,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:118,1
    - Dst: v1d_error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:119,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:124,1
    - Dst: v1d_error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:125,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:129,1
    - Dst: v1d_error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:130,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:134,1
    - Dst: v1d_error
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:135,1
    - Dst: HTTP1_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:139,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:142,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:143,1
    - Dst: V1L_Chunked
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:145,1
    - Dst: VDP_DeliverObj
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:146,1
    - Dst: V1L_EndChunk
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:148,1
    - Dst: V1L_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:151,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:153,1
    - Dst: Req_Fail
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c:158,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - req
    - sendbody
    argTypes:
    - struct req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 160
    functionName: V1D_Deliver
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c
    functionUses: 0
    functionsReached:
    - V1L_Close
    - VDP_DeliverObj
    - V1L_Flush
    - http_GetHdr
    - V1L_Open
    - VDP_Push
    - V1L_Chunked
    - DO_DEBUG
    - http_HdrIs
    - WS_Overflowed
    - http_Unset
    - SESS_TMO
    - V1L_EndChunk
    - VDP_Close
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - CHECK_OBJ_ORNULL
    - HTTP1_Write
    - VCL_Req2Ctx
    - v1d_error
    - http_SetHeader
    - Req_Fail
    linkageType: ''
    returnType: void
    signature: void V1D_Deliver(struct req *req, int sendbody)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:55,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:56,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:60,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:61,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:64,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - fd0
    - fd1
    - pcnt
    argTypes:
    - int
    - int
    - uint64_t*
    assertStmts:
    - condition: (j <= i)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    constantsTouched: []
    func_position:
      end: 70
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 70
    functionName: rdf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    functionUses: 0
    functionsReached:
    - assert
    - VTCP_Assert
    - write
    - VTIM_sleep
    - read
    linkageType: ''
    returnType: int
    signature: int rdf(int fd0, int fd1, uint64_t *pcnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:77,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: V1P_Enter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - Lck_Lock
    linkageType: ''
    returnType: int
    signature: int V1P_Enter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:91,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:92,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (VSC_C_main->n_pipe > 0)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: V1P_Leave
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    functionUses: 0
    functionsReached:
    - assert
    - Lck_Unlock
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void V1P_Leave(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:101,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:102,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:108,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - req
    - a
    - b
    argTypes:
    - struct req*
    - struct v1p_acct*
    - struct VSC_vbe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: V1P_Charge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - Lck_Lock
    - VSLb
    linkageType: ''
    returnType: void
    signature: void V1P_Charge(struct req *req, const struct v1p_acct *a, struct VSC_vbe
      *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:127,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:128,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:129,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:132,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:134,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:141,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:155,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:156,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:158,1
    - Dst: VTIM_poll_tmo
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:158,1
    - Dst: rdf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:164,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:167,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:168,1
    - Dst: rdf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:173,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:176,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:177,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 4
    argNames:
    - req
    - fd
    - v1a
    - deadline
    argTypes:
    - struct req*
    - int
    - struct v1p_acct*
    - vtim_real
    assertStmts:
    - condition: (fd > 0)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    constantsTouched: []
    func_position:
      end: 184
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 184
    functionName: V1P_Process
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    functionUses: 0
    functionsReached:
    - vmin
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - memset
    - assert
    - VTCP_Assert
    - write
    - rdf
    - poll
    - VTIM_poll_tmo
    - shutdown
    linkageType: ''
    returnType: stream_close_t
    signature: "stream_close_t V1P_Process(const struct req *req, int fd, struct v1p_acct
      *v1a,\n    vtim_real deadline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: V1P_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
    functionUses: 0
    functionsReached:
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void V1P_Init(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:72,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:73,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:73,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:74,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:74,1
    - Dst: WS_ReservationSize
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:74,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:77,1
    - Dst: H2_prism_complete
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:83,1
    - Dst: memchr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - htc
    argTypes:
    - struct http_conn*
    assertStmts:
    - condition: (pdiff(htc->rxbuf_b, htc->rxbuf_e) <= WS_ReservationSize(htc->ws))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: HTTP1_Complete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - H2_prism_complete
    - memchr
    - assert
    - WS_ReservationSize
    - pdiff
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void HTTP1_Complete(struct http_conn *htc)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:116,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:117,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:124,1
    - Dst: vct_ishdrval
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:127,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:131,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:133,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:139,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:142,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:145,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:151,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:160,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:165,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:166,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:173,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:179,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:184,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:185,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:191,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:202,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:207,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:208,1
    - Dst: HTC_RxPipeline
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:210,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 4
    argNames:
    - hp
    - p
    - htc
    - maxhdr
    argTypes:
    - struct http*
    - char*
    - struct http_conn*
    - unsigned
    assertStmts:
    - condition: (p <= htc->rxbuf_e)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    - condition: (i > 0)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    - condition: (r <= htc->rxbuf_e)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    - condition: (p > htc->rxbuf_b)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    constantsTouched: []
    func_position:
      end: 213
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 213
    functionName: http1_dissect_hdrs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 0
    functionsReached:
    - vct_ishdrval
    - vct_islws
    - vct_istchar
    - vct_iscrlf
    - vct_issp
    - assert
    - HTC_RxPipeline
    - VSLb
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t http1_dissect_hdrs(struct http *hp, char *p, struct http_conn
      *htc,\n    unsigned maxhdr)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:226,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:227,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:228,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:229,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:231,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:232,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:233,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:236,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:241,1
    - Dst: vct_isctl
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:242,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:246,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:246,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:250,1
    - Dst: vct_isctl
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:251,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:257,1
    - Dst: vct_isctl
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:258,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:262,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:267,1
    - Dst: vct_isctl
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:268,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:279,1
    - Dst: vct_isctl
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:280,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:280,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:289,1
    - Dst: http_Proto
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:295,1
    - Dst: http1_dissect_hdrs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:297,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 4
    argNames:
    - hp
    - htc
    - hf
    - maxhdr
    argTypes:
    - struct http*
    - struct http_conn*
    - int*
    - unsigned
    assertStmts:
    - condition: (hf == HTTP1_Req || hf == HTTP1_Resp)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    - condition: (htc->rxbuf_e >= htc->rxbuf_b)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    - condition: (Tlen(hp->hd[hf[0]]))
      pos:
        line_end: 245
        line_start: 245
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    constantsTouched: []
    func_position:
      end: 298
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 298
    functionName: http1_splitline
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 0
    functionsReached:
    - http1_dissect_hdrs
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - vct_issp
    - vct_isctl
    - vct_iscrlf
    - AZ
    - assert
    - Tlen
    - http_Proto
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t http1_splitline(struct http *hp, struct http_conn *htc, const
      int *hf,\n    unsigned maxhdr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:308,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:309,1
    - Dst: http_GetContentLength
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:313,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:316,1
    - Dst: http_coding_eq
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:317,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - hp
    - htc
    - request
    argTypes:
    - struct http*
    - struct http_conn*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 348
    functionName: http1_body_status
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - http_coding_eq
    - http_GetContentLength
    - http_HdrIs
    linkageType: ''
    returnType: body_status_t
    signature: body_status_t http1_body_status(const struct http *hp, struct http_conn
      *htc, int request)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:359,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:360,1
    - Dst: http1_splitline
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:362,1
    - Dst: http_SetWellKnownMethod
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:370,1
    - Dst: VSLbt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:372,1
    - Dst: http_scheme_at
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:375,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:377,1
    - Dst: http_scheme_at
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:378,1
    - Dst: strpbrk
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:382,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:391,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:392,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:394,1
    - Dst: http_method_eq
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:396,1
    - Dst: Tstr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:397,1
    - Dst: Tstr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:399,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:402,1
    - Dst: http1_body_status
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:407,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:412,1
    - Dst: http_method_among
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:414,1
    - Dst: http_method_eq
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:420,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - htc
    - hp
    argTypes:
    - struct http_conn*
    - struct http*
    assertStmts:
    - condition: (hp->protover == 10)
      pos:
        line_end: 411
        line_start: 411
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    constantsTouched: []
    func_position:
      end: 424
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 424
    functionName: HTTP1_DissectRequest
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - http_method_eq
    - Tlen
    - strpbrk
    - http_Unset
    - http_PrintfHeader
    - Tstr
    - http1_body_status
    - assert
    - http_SetWellKnownMethod
    - TRUST_ME
    - FEATURE
    - VSLbt
    - http_scheme_at
    - http1_splitline
    - http_method_among
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HTTP1_DissectRequest(struct http_conn *htc, struct http *hp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:435,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:436,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:437,1
    - Dst: http1_splitline
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:439,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:447,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:449,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:465,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:467,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:468,1
    - Dst: http_SetStatus
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:469,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:473,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:474,1
    - Dst: http_Status2Reason
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:475,1
    - Dst: http1_body_status
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:478,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 3
    argNames:
    - htc
    - hp
    - rhttp
    argTypes:
    - struct http_conn*
    - struct http*
    - struct http*
    assertStmts:
    - condition: (retval >= 100 && retval <= 999)
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    - condition: (retval == 503)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    constantsTouched: []
    func_position:
      end: 481
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 481
    functionName: HTTP1_DissectResponse
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 0
    functionsReached:
    - http_SetStatus
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - http1_splitline
    - http1_body_status
    - assert
    - http_Status2Reason
    - Tlen
    - VSLb
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t HTTP1_DissectResponse(struct http_conn *htc, struct http
      *hp,\n    const struct http *rhttp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:490,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:491,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:492,1
    - Dst: V1L_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:493,1
    - Dst: V1L_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - v1l
    - hh
    - suf
    argTypes:
    - struct v1l*
    - txt*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 497
    functionName: http1_WrTxt
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 0
    functionsReached:
    - V1L_Write
    - AN
    linkageType: ''
    returnType: unsigned
    signature: unsigned http1_WrTxt(struct v1l *v1l, const txt *hh, const char *suf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:504,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:505,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:506,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:507,1
    - Dst: http1_WrTxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:508,1
    - Dst: http1_WrTxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:509,1
    - Dst: http1_WrTxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:510,1
    - Dst: http1_WrTxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:513,1
    - Dst: V1L_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - v1l
    - hp
    - hf
    argTypes:
    - struct v1l*
    - struct http*
    - int*
    assertStmts:
    - condition: (hf == HTTP1_Req || hf == HTTP1_Resp)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: HTTP1_Write
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
    functionUses: 1
    functionsReached:
    - assert
    - V1L_Write
    - AN
    - http1_WrTxt
    linkageType: ''
    returnType: unsigned
    signature: unsigned HTTP1_Write(struct v1l *v1l, const struct http *hp, const
      int *hf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:50,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:51,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vdc
    - bo
    - v1l
    argTypes:
    - struct vdp_ctx*
    - struct busyobj*
    - struct v1l*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: v1f_stackv1l
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    - VCL_Bo2Ctx
    - VDP_Push
    linkageType: ''
    returnType: int
    signature: int v1f_stackv1l(struct vdp_ctx *vdc, struct busyobj *bo, struct v1l
      *v1l)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:77,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:78,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:79,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:80,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:82,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:85,1
    - Dst: ObjGetLen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:89,1
    - Dst: http_GetContentLength
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:93,1
    - Dst: VDP_Init
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:100,1
    - Dst: VCL_StackVDP
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:102,1
    - Dst: V1L_Open
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:104,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:104,1
    - Dst: v1f_stackv1l
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:111,1
    - Dst: V1L_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:116,1
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:117,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:118,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:119,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:120,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:120,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:126,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:128,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:130,1
    - Dst: HTTP1_Write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:131,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:138,1
    - Dst: ObjIterate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:139,1
    - Dst: V1L_Chunked
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:144,1
    - Dst: VRB_Iterate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:145,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:160,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:161,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:163,1
    - Dst: V1L_EndChunk
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:168,1
    - Dst: V1L_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:171,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:172,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:176,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:181,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:183,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:185,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:186,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:186,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:190,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:191,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:191,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 80
    argCount: 4
    argNames:
    - wrk
    - bo
    - ctr_hdrbytes
    - ctr_bodybytes
    argTypes:
    - struct worker*
    - struct busyobj*
    - uint64_t*
    - uint64_t*
    assertStmts:
    - condition: (*htc->rfd > 0)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    - condition: (cl >= 0)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    - condition: (cl >= -1)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    - condition: (i < 0)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    constantsTouched: []
    func_position:
      end: 193
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 193
    functionName: V1F_SendReq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    functionUses: 0
    functionsReached:
    - V1L_Close
    - VAS_errtxt
    - V1L_Open
    - V1L_Chunked
    - ObjIterate
    - VALID_OBJ
    - nan
    - VSLb
    - AN
    - http_GetContentLength
    - VCL_StackVDP
    - VTCP_blocking
    - V1L_EndChunk
    - VDP_Close
    - CHECK_OBJ_NOTNULL
    - http_PrintfHeader
    - AZ
    - assert
    - v1f_stackv1l
    - W_TIM_real
    - VDP_Init
    - CHECK_OBJ_ORNULL
    - HTTP1_Write
    - VSLb_ts_busyobj
    - ObjGetLen
    - VRB_Iterate
    linkageType: ''
    returnType: int
    signature: "int V1F_SendReq(struct worker *wrk, struct busyobj *bo, uint64_t *ctr_hdrbytes,\n
      \   uint64_t *ctr_bodybytes)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:206,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:207,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:208,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:211,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:217,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:218,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:219,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:221,1
    - Dst: HTC_RxStuff
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:222,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:229,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:233,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:237,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:241,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:245,1
    - Dst: HTC_Status
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:249,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:250,1
    - Dst: VTCP_set_read_timeout
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:257,1
    - Dst: HTTP1_DissectResponse
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:261,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:266,1
    - Dst: http_DoConnection
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:271,1
    - Dst: http_method_eq
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:277,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:285,1
    - Dst: http_IsStatus
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:293,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:299,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:301,1
    - Dst: http_IsStatus
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:305,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:315,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:327,1
    - Dst: V1F_Setup_Fetch
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:330,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c:331,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts:
    - condition: (bo->htc->content_length > 0)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    - condition: (*htc->rfd > 0)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    - condition: (bo->vfc->resp == bo->beresp)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    constantsTouched: []
    func_position:
      end: 337
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 337
    functionName: V1F_FetchRespHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
    functionUses: 0
    functionsReached:
    - HTC_RxStuff
    - CHECK_OBJ_NOTNULL
    - VTCP_set_read_timeout
    - VTIM_real
    - http_method_eq
    - http_GetHdr
    - HTC_RxInit
    - assert
    - HTC_Status
    - HTTP1_DissectResponse
    - http_IsStatus
    - http_DoConnection
    - WRONG
    - V1F_Setup_Fetch
    - http_GetStatus
    - CHECK_OBJ_ORNULL
    - VSLb
    linkageType: ''
    returnType: int
    signature: int V1F_FetchRespHdr(struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:60,1
    - Dst: SES_Set_proto_priv
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sp
    - s
    argTypes:
    - struct sess*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: http1_setstate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - SES_Set_proto_priv
    - AZ
    linkageType: ''
    returnType: void
    signature: void http1_setstate(const struct sess *sp, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:68,1
    - Dst: SES_Get_proto_priv
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sp
    argTypes:
    - struct sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: http1_getstate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - SES_Get_proto_priv
    - AZ
    linkageType: ''
    returnType: char
    signature: 'char *

      http1_getstate(const struct sess *sp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:81,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:82,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:84,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:85,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:85,1
    - Dst: HTTP1_Session
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:86,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:87,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (!WS_IsReserved(wrk->aws))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: http1_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - HTTP1_Session
    - WS_IsReserved
    - THR_SetRequest
    linkageType: ''
    returnType: void
    signature: void http1_req(struct worker *wrk, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:109,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:110,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:112,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:114,1
    - Dst: SES_Get_proto_priv
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:117,1
    - Dst: SES_Reserve_proto_priv
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:118,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:122,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:124,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:125,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:126,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:129,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (sz == sizeof u)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: http1_new_session
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - SES_Delete
    - SES_Get_proto_priv
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - VSL
    - SES_Reserve_proto_priv
    - HTC_RxInit
    - CAST_OBJ_NOTNULL
    - assert
    - http1_setstate
    - Req_Release
    linkageType: ''
    returnType: void
    signature: void http1_new_session(struct worker *wrk, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:141,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:142,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:143,1
    - Dst: Req_New
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:144,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:145,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:147,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: http1_unwait
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - WS_Release
    - Req_New
    - CHECK_OBJ_NOTNULL
    - HTC_RxInit
    - CAST_OBJ_NOTNULL
    - http1_setstate
    linkageType: ''
    returnType: void
    signature: void http1_unwait(struct worker *wrk, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:157,1
    - Dst: V1F_Setup_Fetch
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: http1_req_body
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - V1F_Setup_Fetch
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void http1_req_body(struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:166,1
    - Dst: http1_getstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vsb
    - sp
    argTypes:
    - struct vsb*
    - struct sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: http1_sess_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - http1_getstate
    linkageType: ''
    returnType: void
    signature: void http1_sess_panic(struct vsb *vsb, const struct sess *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:173,1
    - Dst: http1_getstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vsb
    - req
    argTypes:
    - struct vsb*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: http1_req_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - http1_getstate
    linkageType: ''
    returnType: void
    signature: void http1_req_panic(struct vsb *vsb, const struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:179,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:180,1
    - Dst: SES_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - req
    - reason
    argTypes:
    - struct req*
    - stream_close_t
    assertStmts:
    - condition: (reason != SC_NULL)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (req->sp->fd != 0)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: http1_req_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - assert
    - SES_Close
    linkageType: ''
    returnType: void
    signature: void http1_req_fail(struct req *req, stream_close_t reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:192,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:193,1
    - Dst: http_Status2Reason
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:195,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:197,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:198,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:200,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:201,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:202,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:202,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:206,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - struct req*
    - uint16_t
    assertStmts:
    - condition: (status >= 100)
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (status < 1000)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    constantsTouched: []
    func_position:
      end: 218
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 218
    functionName: http1_minimal_response
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - bprintf
    - assert
    - http_Status2Reason
    - write
    - VTCP_Assert
    - VSLbs
    - strlen
    - TOSTRAND
    - VSLb
    linkageType: ''
    returnType: void
    signature: void http1_minimal_response(struct req *req, uint16_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:240,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:241,1
    - Dst: http1_minimal_response
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - struct req*
    - uint16_t
    assertStmts:
    - condition: (req->doclose != SC_NULL)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (status >= 400)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: http1_abort
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - assert
    - http1_minimal_response
    linkageType: ''
    returnType: void
    signature: void http1_abort(struct req *req, uint16_t status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:249,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:250,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:251,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:254,1
    - Dst: IS_NO_VXID
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:254,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:255,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:257,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:257,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:258,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:258,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:259,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:259,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:260,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:260,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:262,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:263,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:265,1
    - Dst: HTTP1_DissectRequest
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:266,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:270,1
    - Dst: Req_LogStart
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:275,1
    - Dst: http1_abort
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:278,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (IS_NO_VXID(req->vsl->wid))
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    constantsTouched: []
    func_position:
      end: 285
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 285
    functionName: http1_dissect
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - HTTP_Setup
    - http1_abort
    - VSL
    - AZ
    - assert
    - isnan
    - IS_NO_VXID
    - HTTP1_DissectRequest
    - VSLb_ts_req
    - VXID_Get
    - Req_LogStart
    - VXID
    - VSLb
    linkageType: ''
    returnType: int
    signature: int http1_dissect(struct worker *wrk, struct req *req)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:298,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:299,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:301,1
    - Dst: http1_getstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:308,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:309,1
    - Dst: XPORT_ByNumber
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:310,1
    - Dst: http1_getstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:313,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:315,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:316,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:316,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:317,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:317,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:318,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:319,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:320,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:320,1
    - Dst: HTC_RxStuff
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:322,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:324,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:328,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:328,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:331,1
    - Dst: Req_AcctLogCharge
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:336,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:337,1
    - Dst: SES_DeleteHS
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:338,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:343,1
    - Dst: SES_Wait
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:344,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:348,1
    - Dst: H2_prism_complete
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:350,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:351,1
    - Dst: SES_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:352,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:353,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:353,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:354,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:354,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:355,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:358,1
    - Dst: H2_PU_Sess
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:359,1
    - Dst: http1_dissect
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:363,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:369,1
    - Dst: SES_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:370,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:371,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:371,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:372,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:372,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:373,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:376,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:377,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:378,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:381,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:384,1
    - Dst: H2_OU_Sess
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:386,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:390,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:391,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:392,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:393,1
    - Dst: CNT_Embark
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:397,1
    - Dst: CNT_Request
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:398,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:401,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:404,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:404,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:405,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:405,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:406,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:409,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:409,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:410,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:410,1
    - Dst: SES_Close
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:413,1
    - Dst: Req_Cleanup
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:417,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:418,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:419,1
    - Dst: Req_Cleanup
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:423,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:424,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:427,1
    - Dst: WRK_AddStat
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:428,1
    - Dst: http1_setstate
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:429,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c:431,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 116
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (!WS_IsReserved(wrk->aws))
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(req->htc->ws))
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(wrk->aws))
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (isnan(req->t_prev))
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(wrk->aws))
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(wrk->aws))
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (isnan(req->t_req))
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (req->doclose != SC_NULL)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(req->ws))
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (req->req_step == R_STP_TRANSPORT)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(req->ws))
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(req->ws))
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    - condition: (!WS_IsReserved(req->ws))
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    constantsTouched: []
    func_position:
      end: 434
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 434
    functionName: HTTP1_Session
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
    functionUses: 1
    functionsReached:
    - CNT_Embark
    - HTC_RxStuff
    - http1_dissect
    - WRK_AddStat
    - http1_getstate
    - XPORT_ByNumber
    - http_HdrIs
    - VSLb
    - VCL_TaskEnter
    - AN
    - Req_Cleanup
    - SESS_TMO
    - Req_AcctLogCharge
    - isnan
    - http1_setstate
    - WRONG
    - VTCP_blocking
    - WS_IsReserved
    - CNT_Request
    - CHECK_OBJ_NOTNULL
    - struct req*::transport::minimal_response
    - H2_prism_complete
    - AZ
    - assert
    - SES_Wait
    - SES_DeleteHS
    - SES_Close
    - SES_Delete
    - H2_PU_Sess
    - H2_OU_Sess
    - HTC_RxInit
    - FEATURE
    - Req_Release
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void HTTP1_Session(struct worker *wrk, struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:53,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:54,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:55,1
    - Dst: Wait_When
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:57,1
    - Dst: Wait_When
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: waited_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - Wait_When
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void waited_cmp(void *priv, const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - p
    - u
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: waited_update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void waited_update(void *priv, void *p, unsigned u)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:76,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:77,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:78,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:79,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:80,1
    - Dst: struct waited*::func
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - w
    - wp
    - ev
    - now
    argTypes:
    - struct waiter*
    - struct waited*
    - enum wait_event
    - double
    assertStmts:
    - condition: (wp->idx == VBH_NOIDX)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: Wait_Call
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - assert
    - struct waited*::func
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void Wait_Call(const struct waiter *w, struct waited *wp,\n    enum
      wait_event ev, double now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:104,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:105,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:106,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:107,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - w
    - wp
    argTypes:
    - struct waiter*
    - struct waited*
    assertStmts:
    - condition: (wp->idx == VBH_NOIDX)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: Wait_HeapInsert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - VBH_insert
    linkageType: ''
    returnType: void
    signature: void Wait_HeapInsert(const struct waiter *w, struct waited *wp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:123,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:124,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:127,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - w
    - wp
    argTypes:
    - struct waiter*
    - struct waited*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: Wait_HeapDelete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - VBH_delete
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int Wait_HeapDelete(const struct waiter *w, const struct waited *wp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:138,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:139,1
    - Dst: Wait_When
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - w
    - wpp
    argTypes:
    - struct waiter*
    - struct waited**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: Wait_HeapDue
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - VBH_root
    - CHECK_OBJ_ORNULL
    - Wait_When
    linkageType: ''
    returnType: double
    signature: double Wait_HeapDue(const struct waiter *w, struct waited **wpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:156,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:157,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:158,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:159,1
    - Dst: struct waiter*::impl::enter
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - w
    - wp
    argTypes:
    - struct waiter*
    - struct waited*
    assertStmts:
    - condition: (wp->fd > 0)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: Wait_Enter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - struct waiter*::impl::enter
    linkageType: ''
    returnType: int
    signature: int Wait_Enter(const struct waiter *w, struct waited *wp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: Waiter_GetName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Waiter_GetName(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:181,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:182,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:183,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:184,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:185,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:187,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:188,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:189,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:192,1
    - Dst: VBH_new
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:193,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:195,1
    - Dst: VSC_waiter_New
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:196,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:197,1
    - Dst: init
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: Waiter_New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - init
    - VTAILQ_INIT
    - AN
    - INIT_OBJ
    - VBH_new
    - AZ
    - VSC_waiter_New
    - calloc
    linkageType: ''
    returnType: struct waiter
    signature: 'struct waiter *

      Waiter_New(const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:209,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:211,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:211,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:212,1
    - Dst: struct waiter*::impl::fini
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:213,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wp
    argTypes:
    - struct waiter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: Waiter_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
    functionUses: 0
    functionsReached:
    - VBH_root
    - TAKE_OBJ_NOTNULL
    - AN
    - FREE_OBJ
    - AZ
    - struct waiter*::impl::fini
    linkageType: ''
    returnType: void
    signature: void Waiter_Destroy(struct waiter **wp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:76,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:78,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:79,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:80,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:82,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:85,1
    - Dst: Wait_HeapDue
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:90,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:98,1
    - Dst: EV_SET
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:99,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:100,1
    - Dst: kevent
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:100,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:101,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:101,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:102,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:103,1
    - Dst: VTIM_timespec
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:106,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:107,1
    - Dst: kevent
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:108,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:109,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:110,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:111,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:113,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:115,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:115,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:118,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:119,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:120,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:120,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:121,1
    - Dst: recv
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:124,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:125,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:127,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:132,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:133,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:134,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (read(vwk->pipe[0], &c, 1) == 1)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    - condition: (n >= 0)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    - condition: (kp->filter == EVFILT_READ)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    - condition: (n <= NKEV)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    constantsTouched: []
    func_position:
      end: 136
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 136
    functionName: vwk_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - THR_SetName
    - VTIM_timespec
    - EV_SET
    - AN
    - CAST_OBJ_NOTNULL
    - Lck_Lock
    - kevent
    - read
    - THR_Init
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - Wait_HeapDelete
    - Wait_HeapDue
    - recv
    - Lck_Unlock
    - closefd
    - Wait_Call
    linkageType: ''
    returnType: void
    signature: 'void *

      vwk_thread(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:146,1
    - Dst: EV_SET
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:147,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:148,1
    - Dst: Wait_HeapInsert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:150,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:151,1
    - Dst: kevent
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:151,1
    - Dst: Wait_When
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:154,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:155,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:155,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - wp
    argTypes:
    - void*
    - struct waited*
    assertStmts:
    - condition: (write(vwk->pipe[1], "X", 1) == 1)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    constantsTouched: []
    func_position:
      end: 159
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 159
    functionName: vwk_enter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    functionUses: 0
    functionsReached:
    - Wait_When
    - Lck_Unlock
    - AZ
    - CAST_OBJ_NOTNULL
    - assert
    - write
    - Lck_Lock
    - Wait_HeapInsert
    - kevent
    - EV_SET
    linkageType: ''
    returnType: void
    signature: void vwk_enter(void *priv, struct waited *wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:169,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:171,1
    - Dst: kqueue
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:174,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:175,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:176,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:177,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:177,1
    - Dst: EV_SET
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:178,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:179,1
    - Dst: kevent
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:179,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:181,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts:
    - condition: (vwk->kq >= 0)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: vwk_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    functionUses: 0
    functionsReached:
    - kqueue
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - PTOK
    - pipe
    - kevent
    - pthread_create
    - EV_SET
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void vwk_init(struct waiter *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:195,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:196,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:198,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:198,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:199,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:200,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:200,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts:
    - condition: (write(vwk->pipe[1], "Y", 1) == 1)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: vwk_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - Lck_Delete
    - CAST_OBJ_NOTNULL
    - assert
    - PTOK
    - write
    - Lck_Lock
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void vwk_fini(struct waiter *w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/waiter/mgt_waiter.c:52,1
    - Dst: MGT_Pick
      Src: /src/vinyl-cache/bin/vinyld/waiter/mgt_waiter.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: Wait_config
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/mgt_waiter.c
    functionUses: 1
    functionsReached:
    - ASSERT_MGT
    - MGT_Pick
    linkageType: ''
    returnType: void
    signature: void Wait_config(const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:78,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:83,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:84,1
    - Dst: realloc
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:86,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:87,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - vwp
    argTypes:
    - struct vwp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 92
    functionName: vwp_extend_pollspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - memset
    - AN
    - VSL
    - realloc
    linkageType: ''
    returnType: void
    signature: void vwp_extend_pollspace(struct vwp *vwp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:100,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:101,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:102,1
    - Dst: vwp_extend_pollspace
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:104,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:105,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:106,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:107,1
    - Dst: Wait_HeapInsert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - vwp
    - wp
    argTypes:
    - struct vwp*
    - struct waited*
    assertStmts:
    - condition: (vwp->hpoll < vwp->npoll)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (vwp->pollfd[vwp->hpoll].fd == -1)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: vwp_add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSL
    - AZ
    - assert
    - Wait_HeapInsert
    - vwp_extend_pollspace
    linkageType: ''
    returnType: void
    signature: void vwp_add(struct vwp *vwp, struct waited *wp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vwp
    - n
    argTypes:
    - struct vwp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: vwp_del
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void vwp_del(struct vwp *vwp, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:138,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:142,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:143,1
    - Dst: pthread_exit
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:144,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:146,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:147,1
    - Dst: vwp_add
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - vwp
    argTypes:
    - struct vwp*
    assertStmts:
    - condition: (ss > 0)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (vwp->hpoll == 1)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (ss == sizeof w[0])
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (w[i]->fd > 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    constantsTouched: []
    func_position:
      end: 151
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 151
    functionName: vwp_dopipe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - assert
    - vwp_add
    - pthread_exit
    - read
    linkageType: ''
    returnType: void
    signature: void vwp_dopipe(struct vwp *vwp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:165,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:166,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:167,1
    - Dst: Wait_HeapDue
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:171,1
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:175,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:175,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:176,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:177,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:178,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:179,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:180,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:184,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:186,1
    - Dst: Wait_HeapDue
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:188,1
    - Dst: Wait_When
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:192,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:194,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:194,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:195,1
    - Dst: vwp_del
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:196,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:198,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:199,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:200,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:200,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:201,1
    - Dst: vwp_del
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:202,1
    - Dst: vwp_dopipe
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:208,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:210,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (vwp->hpoll > 0)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (vwp->pollfd[z].fd != vwp->pipes[0])
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (wp->fd > 0)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (wp->fd == vwp->pollfd[z].fd)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    - condition: (v >= 0)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    constantsTouched: []
    func_position:
      end: 211
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 211
    functionName: vwp_main
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - THR_Init
    - floor
    - AN
    - Wait_When
    - return
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - vwp_dopipe
    - NEEDLESS
    - THR_SetName
    - vwp_del
    - CAST_OBJ_NOTNULL
    - assert
    - Wait_HeapDelete
    - Wait_HeapDue
    - poll
    - Wait_Call
    linkageType: ''
    returnType: void
    signature: 'void *

      vwp_main(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:220,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - wp
    argTypes:
    - void*
    - struct waited*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: vwp_enter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - write
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vwp_enter(void *priv, struct waited *wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:234,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:236,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:238,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:238,1
    - Dst: vwp_extend_pollspace
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:242,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:245,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: vwp_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - AZ
    - PTOK
    - pipe
    - pthread_create
    - vwp_extend_pollspace
    linkageType: ''
    returnType: void
    signature: void vwp_init(struct waiter *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:259,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:262,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:264,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:264,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:265,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:265,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:266,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:267,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:268,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts:
    - condition: (write(vwp->pipes[1], &vp, sizeof vp) == sizeof vp)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    constantsTouched: []
    func_position:
      end: 270
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionName: vwp_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    - assert
    - PTOK
    - write
    - pthread_join
    - free
    - VTIM_sleep
    - closefd
    linkageType: ''
    returnType: void
    signature: void vwp_fini(struct waiter *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:101,1
    - Dst: port_associate
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vws
    - fd
    - data
    argTypes:
    - struct vws*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: vws_add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    functionUses: 0
    functionsReached:
    - port_associate
    - AZ
    linkageType: ''
    returnType: void
    signature: void vws_add(struct vws *vws, int fd, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: port_dissociate
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vws
    - fd
    argTypes:
    - struct vws*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: vws_del
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    functionUses: 0
    functionsReached:
    - port_dissociate
    linkageType: ''
    returnType: void
    signature: void vws_del(struct vws *vws, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:115,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:116,1
    - Dst: Wait_HeapInsert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:118,1
    - Dst: vws_add
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:119,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:121,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:122,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:123,1
    - Dst: vws_del
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:131,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:132,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:132,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - vws
    - w
    - ev
    - now
    argTypes:
    - struct vws*
    - struct waiter*
    - port_event_t*
    - double
    assertStmts:
    - condition: (ev->portev_source == PORT_SOURCE_FD)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    - condition: (wp->fd >= 0)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    - condition: (wp->fd >= 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: vws_port_ev
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    functionUses: 0
    functionsReached:
    - AN
    - vws_add
    - CAST_OBJ_NOTNULL
    - assert
    - Wait_HeapDelete
    - Wait_HeapInsert
    - vws_del
    - Wait_Call
    linkageType: ''
    returnType: void
    signature: void vws_port_ev(struct vws *vws, struct waiter *w, port_event_t *ev,
      double now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:152,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:154,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:155,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:156,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:158,1
    - Dst: Wait_HeapDue
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:162,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:170,1
    - Dst: vws_del
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:171,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:172,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:172,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:173,1
    - Dst: VTIM_timespec
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:176,1
    - Dst: port_getn
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:199,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:200,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:204,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:209,1
    - Dst: vws_port_ev
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:212,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: ((errno == EINTR) || (errno == ETIME))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    constantsTouched: []
    func_position:
      end: 215
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 215
    functionName: vws_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    functionUses: 0
    functionsReached:
    - THR_Init
    - port_getn
    - AN
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - vws_port_ev
    - THR_SetName
    - CAST_OBJ_NOTNULL
    - assert
    - Wait_HeapDelete
    - VTIM_timespec
    - Wait_HeapDue
    - vws_del
    - Wait_Call
    linkageType: ''
    returnType: void
    signature: 'void *

      vws_thread(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:225,1
    - Dst: port_send
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:226,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:226,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - wp
    argTypes:
    - void*
    - struct waited*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 231
    functionName: vws_enter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    functionUses: 0
    functionsReached:
    - port_send
    - AZ
    - TRUST_ME
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vws_enter(void *priv, struct waited *wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:240,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:242,1
    - Dst: port_create
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:244,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:245,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:247,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts:
    - condition: (vws->dport >= 0)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: vws_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    - port_create
    - CHECK_OBJ_NOTNULL
    - assert
    - PTOK
    - pthread_create
    linkageType: ''
    returnType: void
    signature: void vws_init(struct waiter *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:258,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:260,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:261,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: vws_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_join
    - closefd
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vws_fini(struct waiter *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wp
    argTypes:
    - struct waited*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: Wait_When
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h
    functionUses: 4
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: double
    signature: double Wait_When(const struct waited *wp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:82,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:84,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:85,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:86,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:87,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:88,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:90,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:93,1
    - Dst: Wait_HeapDue
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:98,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:106,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:107,1
    - Dst: epoll_ctl
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:107,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:108,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:110,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:110,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:111,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:112,1
    - Dst: ceil
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:115,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:116,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:117,1
    - Dst: epoll_wait
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:122,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:124,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:125,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:126,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:129,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:129,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:132,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:133,1
    - Dst: Wait_HeapDelete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:136,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:139,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:141,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:145,1
    - Dst: epoll_ctl
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:145,1
    - Dst: recv
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:148,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:149,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:151,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:153,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:155,1
    - Dst: Wait_Call
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:157,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:162,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:163,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:164,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:165,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    - condition: (n <= NEEV)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    - condition: (read(vwe->pipe[0], &c, 1) == 1)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    - condition: (i > 0)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    constantsTouched: []
    func_position:
      end: 167
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 167
    functionName: vwe_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_wait
    - VTIM_real
    - THR_SetName
    - VSL
    - ceil
    - AN
    - malloc
    - CAST_OBJ_NOTNULL
    - Lck_Lock
    - read
    - THR_Init
    - epoll_ctl
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - Wait_HeapDelete
    - Wait_HeapDue
    - recv
    - free
    - Lck_Unlock
    - closefd
    - Wait_Call
    linkageType: ''
    returnType: void
    signature: 'void *

      vwe_thread(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:177,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:180,1
    - Dst: Wait_HeapInsert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:182,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:183,1
    - Dst: epoll_ctl
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:183,1
    - Dst: Wait_When
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:185,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:186,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:186,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - wp
    argTypes:
    - void*
    - struct waited*
    assertStmts:
    - condition: (write(vwe->pipe[1], "X", 1) == 1)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: vwe_enter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    functionUses: 0
    functionsReached:
    - Wait_When
    - epoll_ctl
    - Lck_Unlock
    - AZ
    - CAST_OBJ_NOTNULL
    - assert
    - write
    - Lck_Lock
    - Wait_HeapInsert
    linkageType: ''
    returnType: void
    signature: void vwe_enter(void *priv, struct waited *wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:199,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:201,1
    - Dst: epoll_create
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:204,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:205,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:206,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:207,1
    - Dst: pipe
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:207,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:210,1
    - Dst: epoll_ctl
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:210,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:212,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts:
    - condition: (vwe->epfd >= 0)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    constantsTouched: []
    func_position:
      end: 213
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 213
    functionName: vwe_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - epoll_create
    - AZ
    - assert
    - PTOK
    - pipe
    - pthread_create
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void vwe_init(struct waiter *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:226,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:228,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:230,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:230,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:231,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:232,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:232,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct waiter*
    assertStmts:
    - condition: (write(vwe->pipe[1], "Y", 1) == 1)
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: vwe_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - Lck_Delete
    - CAST_OBJ_NOTNULL
    - assert
    - PTOK
    - write
    - Lck_Lock
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void vwe_fini(struct waiter *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: WAITER
    functionSourceFile: /src/vinyl-cache/bin/vinyld/waiter/mgt_waiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAITER(nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lvl
    - ','
    - nam
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: SOCK_OPT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SOCK_OPT(lvl, nam, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:102,1
    - Dst: SET_VAL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:129,1
    - Dst: SET_VAL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:130,1
    - Dst: NEW_VAL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:131,1
    - Dst: VTIM_timeval_sock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:132,1
    - Dst: NEW_VAL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:133,1
    - Dst: VTIM_timeval_sock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 138
    functionName: vca_uds_sockopt_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - memset
    - NEW_VAL
    - VTIM_timeval_sock
    - SET_VAL
    linkageType: ''
    returnType: int
    signature: int vca_uds_sockopt_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - so
    - ','
    - fld
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: SET_VAL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_VAL(nm, so, fld, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - so
    - ','
    - fld
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: NEW_VAL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEW_VAL(nm, so, fld, val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:149,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:150,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:157,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:163,1
    - Dst: getsockopt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:165,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:167,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:168,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:175,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ls
    - sp
    argTypes:
    - struct listen_sock*
    - struct sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: vca_uds_sockopt_test
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - memset
    - VSL
    - VTCP_Assert
    - getsockopt
    - memcmp
    linkageType: ''
    returnType: void
    signature: void vca_uds_sockopt_test(const struct listen_sock *ls, const struct
      sess *sp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:187,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:190,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:203,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:210,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:216,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:219,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ls
    - sp
    argTypes:
    - struct listen_sock*
    - struct sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 225
    functionName: vca_uds_sockopt_set
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSL
    - VTCP_Assert
    - setsockopt
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vca_uds_sockopt_set(const struct listen_sock *ls, const struct
      sess *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: vca_uds_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vca_uds_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:237,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:238,1
    - Dst: listen
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:240,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:241,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:242,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:243,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:247,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:248,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:250,1
    - Dst: vca_uds_sockopt_set
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:253,1
    - Dst: VTCP_filter_http
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:255,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:256,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cli
    - ls
    argTypes:
    - struct cli*
    - struct listen_sock*
    assertStmts:
    - condition: (ls->sock > 0)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    constantsTouched: []
    func_position:
      end: 261
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 261
    functionName: vca_uds_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - vca_uds_sockopt_set
    - AN
    - CHECK_OBJ_NOTNULL
    - VCLI_SetResult
    - VAS_errtxt
    - VCLI_Out
    - VSL
    - VTCP_filter_http
    - AZ
    - assert
    - calloc
    - listen
    linkageType: ''
    returnType: int
    signature: int vca_uds_listen(struct cli *cli, struct listen_sock *ls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:268,1
    - Dst: vca_uds_sockopt_init
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:270,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:272,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:273,1
    - Dst: vca_uds_listen
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: vca_uds_start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - vca_uds_sockopt_init
    - CHECK_OBJ_NOTNULL
    - vca_uds_listen
    - ASSERT_CLI
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vca_uds_start(struct cli *cli)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:287,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:288,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cli
    - ls
    - event
    argTypes:
    - struct cli*
    - struct listen_sock*
    - enum vca_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: vca_uds_event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - WRONG
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vca_uds_event(struct cli *cli, struct listen_sock *ls, enum vca_event
      event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:302,1
    - Dst: SES_Reserve_remote_addr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:302,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:303,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:304,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:305,1
    - Dst: SES_Set_remote_addr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:305,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:309,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:309,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:310,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - wa
    - sp
    argTypes:
    - struct wrk_accept*
    - struct sess*
    assertStmts:
    - condition: (sz == vsa_suckaddr_len)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    constantsTouched: []
    func_position:
      end: 311
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 311
    functionName: vca_mk_uds
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - AN
    - SES_Set_String_Attr
    - AZ
    - assert
    - SES_Set_remote_addr
    - SES_Reserve_remote_addr
    linkageType: ''
    returnType: void
    signature: void vca_mk_uds(struct wrk_accept *wa, struct sess *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:320,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:321,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:323,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:326,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:326,1
    - Dst: SES_New
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:327,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:328,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:331,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:339,1
    - Dst: vca_mk_uds
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:341,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:343,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:344,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:346,1
    - Dst: vca_pace_good
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:349,1
    - Dst: vca_uds_sockopt_test
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:353,1
    - Dst: vca_uds_sockopt_set
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:357,1
    - Dst: Req_New
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:359,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:360,1
    - Dst: SES_SetTransport
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:363,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: ((size_t)wa->acceptaddrlen <= vsa_suckaddr_len)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    constantsTouched: []
    func_position:
      end: 365
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 365
    functionName: vca_uds_make_session
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - vca_uds_sockopt_set
    - AN
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - Req_New
    - VTIM_real
    - VSL
    - CAST_OBJ_NOTNULL
    - assert
    - SES_SetTransport
    - vca_pace_good
    - VTCP_blocking
    - VXID_Get
    - vca_mk_uds
    - WS_Reservation
    - vca_uds_sockopt_test
    - SES_New
    linkageType: ''
    returnType: void
    signature: void vca_uds_make_session(struct worker *wrk, void *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:383,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:384,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:386,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:389,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:393,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:396,1
    - Dst: vca_pace_check
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:399,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:403,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:412,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:426,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:430,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:435,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:439,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:446,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:447,1
    - Dst: Pool_TrySumstat
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:448,1
    - Dst: Pool_Task_Arg
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:454,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:463,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:463,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:468,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:469,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:473,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:474,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 475
    functionName: vca_uds_accept_task
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - sleep
    - VCL_Rel
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VAS_errtxt
    - vca_pace_check
    - FREE_OBJ
    - Pool_Task
    - VSL
    - CAST_OBJ_NOTNULL
    - AZ
    - Pool_TrySumstat
    - Pool_Task_Arg
    - DO_DEBUG
    - vca_pace_bad
    - accept
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void vca_uds_accept_task(struct worker *wrk, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:483,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:484,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:486,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:487,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:492,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:493,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 495
    functionName: vca_uds_accept
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - Pool_Task
    - AZ
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void vca_uds_accept(struct pool *pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vca_uds_sockopt_init
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:502,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:505,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:507,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:508,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:512,1
    - Dst: vca_uds_sockopt_set
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:513,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - shut_mtx
    argTypes:
    - struct lock*
    assertStmts:
    - condition: (ls->sock > 0)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    constantsTouched: []
    func_position:
      end: 528
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 528
    functionName: vca_uds_update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - vca_uds_sockopt_init
    - vca_uds_sockopt_set
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vca_uds_update(struct lock *shut_mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:536,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:537,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 543
    functionName: vca_uds_shutdown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - close
    - VTAILQ_FOREACH
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vca_uds_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCA_Foreach(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: vca_uds_config
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vca_uds_config(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VUS_bind
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - priv
    - uds
    argTypes:
    - void*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: vca_vus_bind
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - VUS_bind
    linkageType: ''
    returnType: int
    signature: int vca_vus_bind(void *priv, const struct sockaddr_un *uds)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:77,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:80,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:81,1
    - Dst: VUS_resolver
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:84,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:88,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:93,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:94,1
    - Dst: chmod
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:97,1
    - Dst: chown
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:99,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ls
    argTypes:
    - struct listen_sock*
    assertStmts:
    - condition: (ls->uds)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
    constantsTouched: []
    func_position:
      end: 105
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 105
    functionName: vca_uds_opensocket
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - chown
    - AN
    - chmod
    - VUS_resolver
    - CHECK_OBJ_NOTNULL
    - assert
    - MCH_Fd_Inherit
    - CHECK_OBJ
    - closefd
    linkageType: ''
    returnType: int
    signature: int vca_uds_opensocket(struct listen_sock *ls)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:114,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:117,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:118,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:120,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:121,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:125,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:126,1
    - Dst: VSA_Clone
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:131,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:132,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:134,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:140,1
    - Dst: vca_uds_opensocket
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:141,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:142,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:145,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:146,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:147,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:149,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:150,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:154,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:155,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 2
    argNames:
    - priv
    - uds
    argTypes:
    - void*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 159
    functionName: vca_uds_open_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VSA_free
    - FREE_OBJ
    - VAS_errtxt
    - REPLACE
    - strcmp
    - CAST_OBJ_NOTNULL
    - VJ_master
    - ARGV_ERR
    - vca_uds_opensocket
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    - free
    - VSA_Clone
    linkageType: ''
    returnType: void
    signature: void vca_uds_open_cb(void *priv, const struct sockaddr_un *uds)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:171,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:173,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:175,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:176,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:179,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:184,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:186,1
    - Dst: XPORT_Find
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:188,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:190,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:194,1
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:197,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:199,1
    - Dst: getpwnam
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:201,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:203,1
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:207,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:209,1
    - Dst: getgrnam
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:211,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:213,1
    - Dst: keyval
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:217,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:219,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:221,1
    - Dst: strtol
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:227,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:229,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:232,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:233,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:235,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:241,1
    - Dst: XPORT_Find
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:245,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:247,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:251,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:252,1
    - Dst: VUS_resolver
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:265,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 3
    argNames:
    - av
    - la
    - err
    argTypes:
    - char**
    - struct listen_arg*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 266
    functionName: vca_uds_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - getpwnam
    - AN
    - keyval
    - XPORT_Find
    - CHECK_OBJ_NOTNULL
    - VAS_errtxt
    - VUS_resolver
    - strtol
    - strchr
    - ARGV_ERR
    - getgrnam
    - ALLOC_OBJ
    - vmax
    linkageType: ''
    returnType: int
    signature: int vca_uds_open(char **av, struct listen_arg *la, const char **err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:274,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:275,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:277,1
    - Dst: vca_uds_opensocket
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:278,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:279,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:284,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:285,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 290
    functionName: vca_uds_reopen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - MGT_Complain
    - VAS_errtxt
    - VJ_master
    - vca_uds_opensocket
    - VTAILQ_FOREACH
    - vmax
    linkageType: ''
    returnType: int
    signature: int vca_uds_reopen(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:213,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:216,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:229,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:236,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:242,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:245,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ls
    - sp
    argTypes:
    - struct listen_sock*
    - struct sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 251
    functionName: vca_tcp_sockopt_set
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSL
    - VTCP_Assert
    - setsockopt
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vca_tcp_sockopt_set(const struct listen_sock *ls, const struct
      sess *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: vca_tcp_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vca_tcp_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:264,1
    - Dst: VTCP_fastopen
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:267,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:268,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:270,1
    - Dst: listen
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:272,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:273,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:274,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:275,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:279,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:280,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:282,1
    - Dst: vca_tcp_sockopt_set
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:285,1
    - Dst: VTCP_filter_http
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:287,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:288,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - cli
    - ls
    argTypes:
    - struct cli*
    - struct listen_sock*
    assertStmts:
    - condition: (ls->sock > 0)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    constantsTouched: []
    func_position:
      end: 293
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 293
    functionName: vca_tcp_listen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VAS_errtxt
    - VCLI_SetResult
    - VCLI_Out
    - VSL
    - VTCP_filter_http
    - AZ
    - assert
    - VTCP_fastopen
    - vca_tcp_sockopt_set
    - calloc
    - listen
    linkageType: ''
    returnType: int
    signature: int vca_tcp_listen(struct cli *cli, struct listen_sock *ls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:300,1
    - Dst: vca_tcp_sockopt_init
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:302,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:304,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:305,1
    - Dst: vca_tcp_listen
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: vca_tcp_start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - vca_tcp_listen
    - CHECK_OBJ_NOTNULL
    - vca_tcp_sockopt_init
    - ASSERT_CLI
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vca_tcp_start(struct cli *cli)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:320,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:321,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cli
    - ls
    - event
    argTypes:
    - struct cli*
    - struct listen_sock*
    - enum vca_event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: vca_tcp_event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - VTCP_myname
    - VCLI_Out
    - WRONG
    linkageType: ''
    returnType: void
    signature: void vca_tcp_event(struct cli *cli, struct listen_sock *ls, enum vca_event
      event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:341,1
    - Dst: SES_Reserve_remote_addr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:341,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:342,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:343,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:344,1
    - Dst: VSA_Build
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:344,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:347,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:348,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:348,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:349,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:349,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:352,1
    - Dst: SES_Reserve_local_addr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:352,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:353,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:353,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 6
    argNames:
    - wa
    - sp
    - laddr
    - lport
    - raddr
    - rport
    argTypes:
    - struct wrk_accept*
    - struct sess*
    - char*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (sz == vsa_suckaddr_len)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    constantsTouched: []
    func_position:
      end: 356
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 356
    functionName: vca_mk_tcp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - SES_Set_String_Attr
    - SES_Reserve_local_addr
    - assert
    - VSA_Build
    - SES_Reserve_remote_addr
    - VTCP_name
    linkageType: ''
    returnType: void
    signature: "void vca_mk_tcp(const struct wrk_accept *wa,\n    struct sess *sp,
      char *laddr, char *lport, char *raddr, char *rport)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:369,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:370,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:372,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:375,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:375,1
    - Dst: SES_New
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:376,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:377,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:380,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:382,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:388,1
    - Dst: vca_mk_tcp
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:390,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:392,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:393,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:395,1
    - Dst: vca_pace_good
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:399,1
    - Dst: vca_tcp_sockopt_test
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:403,1
    - Dst: vca_tcp_sockopt_set
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:407,1
    - Dst: Req_New
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:409,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:410,1
    - Dst: SES_SetTransport
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:413,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: ((size_t)wa->acceptaddrlen <= vsa_suckaddr_len)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    constantsTouched: []
    func_position:
      end: 415
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 415
    functionName: vca_tcp_make_session
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - AN
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - Req_New
    - VTIM_real
    - vca_tcp_sockopt_test
    - VSL
    - CAST_OBJ_NOTNULL
    - assert
    - vca_mk_tcp
    - SES_SetTransport
    - vca_tcp_sockopt_set
    - vca_pace_good
    - VTCP_blocking
    - VXID_Get
    - WS_Reservation
    - SES_New
    linkageType: ''
    returnType: void
    signature: void vca_tcp_make_session(struct worker *wrk, void *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:435,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:436,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:438,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:439,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:442,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:446,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:449,1
    - Dst: vca_pace_check
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:452,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:456,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:465,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:479,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:483,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:488,1
    - Dst: vca_pace_bad
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:492,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:499,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:502,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:504,1
    - Dst: Pool_TrySumstat
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:505,1
    - Dst: Pool_Task_Arg
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:511,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:520,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:520,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:525,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:526,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:530,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:531,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 532
    functionName: vca_tcp_accept_task
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - sleep
    - VCL_Rel
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VTCP_myname
    - vca_pace_check
    - VAS_errtxt
    - Pool_Task
    - FREE_OBJ
    - VSL
    - CAST_OBJ_NOTNULL
    - AZ
    - Pool_TrySumstat
    - Pool_Task_Arg
    - DO_DEBUG
    - vca_pace_bad
    - accept
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void vca_tcp_accept_task(struct worker *wrk, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:540,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:541,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:543,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:544,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:549,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:550,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 552
    functionName: vca_tcp_accept
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - Pool_Task
    - AZ
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void vca_tcp_accept(struct pool *pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vca_tcp_sockopt_init
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:559,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:562,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:564,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:565,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:569,1
    - Dst: vca_tcp_sockopt_set
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:570,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - shut_mtx
    argTypes:
    - struct lock*
    assertStmts:
    - condition: (ls->sock > 0)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    constantsTouched: []
    func_position:
      end: 585
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 585
    functionName: vca_tcp_update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - vca_tcp_sockopt_init
    - assert
    - Lck_Lock
    - vca_tcp_sockopt_set
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vca_tcp_update(struct lock *shut_mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:593,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:594,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 600
    functionName: vca_tcp_shutdown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - close
    - VTAILQ_FOREACH
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vca_tcp_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:69,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t0
    argTypes:
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: vca_periodic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - FEATURE
    linkageType: ''
    returnType: void
    signature: void vca_periodic(vtim_real t0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:87,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:89,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: vca_pace_check
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 2
    functionsReached:
    - VTIM_sleep
    - Lck_Unlock
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void vca_pace_check(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:98,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: vca_pace_bad
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void vca_pace_bad(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:111,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: vca_pace_good
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void vca_pace_good(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:129,1
    - Dst: struct acceptor*::accept
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: VCA_NewPool
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - struct acceptor*::accept
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCA_NewPool(struct pool *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:129,1
    - Dst: accept
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - accept
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCA_Foreach(vca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:139,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:140,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: VCA_DestroyPool
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - VTAILQ_EMPTY
    - VTAILQ_FIRST
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void VCA_DestroyPool(struct pool *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:155,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:156,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:159,1
    - Dst: vca_periodic
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:160,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:165,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:168,1
    - Dst: struct acceptor*::update
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:169,1
    - Dst: vca_periodic
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:172,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:175,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 176
    functionName: vca_acct
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - THR_Init
    - sleep
    - struct acceptor*::update
    - return
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - NEEDLESS
    - THR_SetName
    - vca_periodic
    linkageType: ''
    returnType: void
    signature: void vca_acct(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:168,1
    - Dst: update
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - update
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCA_Foreach(vca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:185,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:188,1
    - Dst: struct acceptor*::start
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:189,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:192,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: VCA_Start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ASSERT_CLI
    - PTOK
    - pthread_create
    - struct acceptor*::start
    linkageType: ''
    returnType: void
    signature: void VCA_Start(struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:188,1
    - Dst: start
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - start
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCA_Foreach(vca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:212,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:214,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:220,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:221,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:222,1
    - Dst: struct listen_sock*::vca::event
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:223,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 227
    functionName: ccf_listen_address
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - Lck_Lock
    - struct listen_sock*::vca::event
    - VTIM_sleep
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void ccf_listen_address(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:241,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:242,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:243,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:246,1
    - Dst: struct acceptor*::init
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: VCA_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - CLI_AddFuncs
    - CHECK_OBJ_NOTNULL
    - struct acceptor*::init
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void VCA_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:246,1
    - Dst: init
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - init
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCA_Foreach(vca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:256,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:259,1
    - Dst: struct acceptor*::shutdown
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:260,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: VCA_Shutdown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    - struct acceptor*::shutdown
    linkageType: ''
    returnType: void
    signature: void VCA_Shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:259,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - shutdown
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCA_Foreach(vca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:280,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:281,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xp
    argTypes:
    - struct transport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: XPORT_Register
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void XPORT_Register(struct transport *xp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: XPORT_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 1
    functionsReached:
    - ASSERT_MGT
    linkageType: ''
    returnType: void
    signature: void XPORT_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: TRANSPORT_MACRO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSPORT_MACRO(name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:303,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:305,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: XPORT_Find
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FOREACH
    - ASSERT_MGT
    - strcasecmp
    linkageType: ''
    returnType: struct transport
    signature: 'struct transport *

      XPORT_Find(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - 'no'
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: XPORT_ByNumber
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: struct transport
    signature: 'struct transport *

      XPORT_ByNumber(uint16_t no)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: vca_tcp_config
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vca_tcp_config(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:67,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:70,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:71,1
    - Dst: VTCP_bind
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:74,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:78,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:82,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ls
    argTypes:
    - struct listen_sock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: vca_tcp_opensocket
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - MCH_Fd_Inherit
    - VTCP_bind
    - closefd
    linkageType: ''
    returnType: int
    signature: int vca_tcp_opensocket(struct listen_sock *ls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:97,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:99,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:100,1
    - Dst: VSA_Compare
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:102,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:103,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:107,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:108,1
    - Dst: VSA_Clone
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:113,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:114,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:116,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:121,1
    - Dst: vca_tcp_opensocket
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:122,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:123,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:126,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:127,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:128,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:130,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:131,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:135,1
    - Dst: VSA_Port
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:137,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:143,1
    - Dst: VTCP_my_suckaddr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:144,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:145,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:147,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:148,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:150,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:151,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:154,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:155,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 159
    functionName: vca_tcp_open_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - VAS_errtxt
    - VTAILQ_INSERT_TAIL
    - VSA_Get_Proto
    - VSA_Clone
    - AN
    - FREE_OBJ
    - REPLACE
    - CAST_OBJ_NOTNULL
    - VSA_Port
    - ARGV_ERR
    - VTAILQ_FOREACH
    - CHECK_OBJ_NOTNULL
    - VSA_free
    - bprintf
    - AZ
    - VTCP_myname
    - free
    - VJ_master
    - VTCP_my_suckaddr
    - vca_tcp_opensocket
    - ALLOC_OBJ
    - VSA_Compare
    linkageType: ''
    returnType: void
    signature: void vca_tcp_open_cb(void *priv, const struct suckaddr *sa)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:167,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:168,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:169,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:170,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:172,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:173,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:177,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:179,1
    - Dst: XPORT_Find
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:181,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:183,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:187,1
    - Dst: XPORT_Find
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:193,1
    - Dst: VSS_resolver_range
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - av
    - la
    - err
    argTypes:
    - char**
    - struct listen_arg*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 197
    functionName: vca_tcp_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - AN
    - XPORT_Find
    - CHECK_OBJ_NOTNULL
    - AZ
    - strchr
    - ARGV_ERR
    - VSS_resolver_range
    linkageType: ''
    returnType: int
    signature: int vca_tcp_open(char **av, struct listen_arg *la, const char **err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:205,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:206,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:208,1
    - Dst: vca_tcp_opensocket
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:209,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:210,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:215,1
    - Dst: MGT_Complain
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:216,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: vca_tcp_reopen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - MGT_Complain
    - VAS_errtxt
    - VJ_master
    - vca_tcp_opensocket
    - VTAILQ_FOREACH
    - vmax
    linkageType: ''
    returnType: int
    signature: int vca_tcp_reopen(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:62,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:63,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:65,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pvca
    argTypes:
    - struct acceptor**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: VCA__iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 0
    functionsReached:
    - VTAILQ_NEXT
    - CHECK_OBJ_ORNULL
    - AN
    - VTAILQ_FIRST
    linkageType: ''
    returnType: int
    signature: int VCA__iter(struct acceptor ** const pvca)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:77,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: VCA_Find
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: struct acceptor
    signature: 'struct acceptor *

      VCA_Find(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:77,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: void
    signature: void VCA_Foreach(vca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:101,1
    - Dst: struct acceptor*::reopen
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:102,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: VCA_reopen_sockets
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 1
    functionsReached:
    - struct acceptor*::reopen
    - CHECK_OBJ_NOTNULL
    - vmax
    linkageType: ''
    returnType: int
    signature: int VCA_reopen_sockets(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:101,1
    - Dst: reopen
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:102,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: VCA_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 0
    functionsReached:
    - reopen
    - CHECK_OBJ_NOTNULL
    - vmax
    linkageType: ''
    returnType: void
    signature: void VCA_Foreach(vca)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MGT_NamedArg
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:123,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:124,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:126,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:127,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:128,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:129,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:133,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:135,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:140,1
    - Dst: VCA_Find
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:141,1
    - Dst: VCA_Find
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:143,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:145,1
    - Dst: struct acceptor*::open
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:146,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:149,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:152,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:153,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - spec
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: VCA_Arg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - AN
    - VAV_Free
    - bprintf
    - VTAILQ_EMPTY
    - strdup
    - MGT_NamedArg
    - ARGV_ERR
    - VTAILQ_INSERT_TAIL
    - struct acceptor*::open
    - VUS_is
    - ALLOC_OBJ
    - VCA_Find
    linkageType: ''
    returnType: void
    signature: void VCA_Arg(const char *spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:164,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:165,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:166,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:167,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:168,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:169,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:170,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:171,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:173,1
    - Dst: VCA_Find
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:175,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:176,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:178,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:179,1
    - Dst: struct acceptor*::config
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:181,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - vca
    argTypes:
    - struct acceptor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 183
    functionName: VCA_Add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - struct acceptor*::config
    - CHECK_OBJ_NOTNULL
    - ARGV_ERR
    - VTAILQ_INSERT_TAIL
    - VCA_Find
    linkageType: ''
    returnType: void
    signature: void VCA_Add(struct acceptor *vca)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCA_Add
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:189,1
    - Dst: VCA_Add
      Src: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: VCA_Config
    functionSourceFile: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
    functionUses: 1
    functionsReached:
    - VCA_Add
    linkageType: ''
    returnType: void
    signature: void VCA_Config(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - vsb
    - block
    - track
    - ptr
    - smagic
    - magic
    - fmt
    argTypes:
    - struct vsb*
    - int
    - int
    - void*
    - char*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: PAN__DumpStruct
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int PAN__DumpStruct(struct vsb *vsb, int block, int track, const void
      *ptr,\n    const char *smagic, unsigned magic, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tag
    - vxid
    - fmt
    argTypes:
    - enum VSL_tag_e
    - vxid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: VSL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VSL(enum VSL_tag_e tag, vxid_t vxid, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - vsl
    - tag
    - fmt
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: VSLb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VSLb(struct vsl_log *vsl, enum VSL_tag_e tag, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - l
    - event
    - first
    - pprev
    - now
    argTypes:
    - struct vsl_log*
    - char*
    - vtim_real
    - vtim_real*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: VSLb_ts
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void VSLb_ts(struct vsl_log *l, const char *event, vtim_real first,
      vtim_real *pprev,\n    vtim_real now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scarab
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: ObjVAIlease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ObjVAIlease(struct worker *wrk, vai_hdl vhdl, struct vscarab *scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scaret
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscaret*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: ObjVAIreturn
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ObjVAIreturn(struct worker *wrk, vai_hdl vhdl, struct vscaret
      *scaret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tag
    - fmt
    argTypes:
    - enum VSL_tag_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: WRK_Log
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WRK_Log(enum VSL_tag_e tag, const char *fmt, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:137,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:142,1
    - Dst: BSET
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:145,1
    - Dst: BSET
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:147,1
    - Dst: BSET
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:149,1
    - Dst: BSET
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:151,1
    - Dst: WS_Init
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:155,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:158,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:164,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:168,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:171,1
    - Dst: VEP_Init
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:175,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:176,1
    - Dst: VEP_Parse
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:177,1
    - Dst: VEP_Finish
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:178,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:180,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 184
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 0
    functionsReached:
    - WS_Rollback
    - AN
    - INIT_OBJ
    - VEP_Finish
    - BSET
    - memset
    - VEP_Init
    - VEP_Parse
    - WS_Init
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - 'no'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: BSET
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BSET(b, no)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:196,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:197,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:198,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
    functionUses: 1
    functionsReached:
    - VFIL_readfile
    - AN
    - free
    - LLVMFuzzerTestOneInput
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: ASSERT_MGT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/heritage.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_MGT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: ARGV_ERR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/heritage.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGV_ERR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: vsmw_dummy_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vsmw_dummy_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: vsmw_assert_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsmw_assert_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: vsmw_do_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsmw_do_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: vsmw_do_lock_
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsmw_do_lock_(f, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: vsmw_do_unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsmw_do_unlock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: vsmw_do_unlock_
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsmw_do_unlock_(f, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:150,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:152,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:152,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:152,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsmw
    - fd
    argTypes:
    - struct vsmw*
    - int
    assertStmts:
    - condition: (write(fd, buf, strlen(buf)) == strlen(buf))
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: vsmw_idx_head
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - bprintf
    - write
    - strlen
    - assert
    linkageType: ''
    returnType: void
    signature: void vsmw_idx_head(const struct vsmw *vsmw, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: ASSERT_SEG_STR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_SEG_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_assert_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:164,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:165,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:166,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:167,1
    - Dst: ASSERT_SEG_STR
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:168,1
    - Dst: ASSERT_SEG_STR
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:169,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - vsmw
    - seg
    - act
    argTypes:
    - struct vsmw*
    - struct vsmwseg*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: vsmw_fmt_index
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - vsmw_assert_lock
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - ASSERT_SEG_STR
    linkageType: ''
    returnType: void
    signature: void vsmw_fmt_index(const struct vsmw *vsmw, const struct vsmwseg *seg,
      char act)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:188,1
    - Dst: vsmw_assert_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:189,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:191,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:192,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:193,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:193,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:194,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:195,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:195,1
    - Dst: openat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:196,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:196,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - vsmw
    - pfx
    argTypes:
    - struct vsmw*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: vsmw_mkent
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - vsmw_assert_lock
    - AN
    - VRND_RandomCrypto
    - VSB_data
    - VSB_finish
    - VSB_printf
    - AZ
    - openat
    - VSB_clear
    - closefd
    linkageType: ''
    returnType: void
    signature: void vsmw_mkent(const struct vsmw *vsmw, const char *pfx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_assert_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:211,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:212,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:213,1
    - Dst: openat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:214,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:215,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:216,1
    - Dst: vsmw_fmt_index
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:217,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:218,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:218,1
    - Dst: XXXAZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:219,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:219,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - vsmw
    - seg
    - act
    argTypes:
    - struct vsmw*
    - struct vsmwseg*
    - char
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 221
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 221
    functionName: vsmw_append_record
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - vsmw_assert_lock
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - AZ
    - assert
    - vsmw_fmt_index
    - VSB_tofile
    - XXXAZ
    - openat
    - VSB_clear
    - closefd
    linkageType: ''
    returnType: void
    signature: void vsmw_append_record(struct vsmw *vsmw, struct vsmwseg *seg, char
      act)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_assert_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:229,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:230,1
    - Dst: vsmw_append_record
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vsmw
    - seg
    argTypes:
    - struct vsmw*
    - struct vsmwseg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: vsmw_addseg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - vsmw_assert_lock
    - vsmw_append_record
    linkageType: ''
    returnType: void
    signature: void vsmw_addseg(struct vsmw *vsmw, struct vsmwseg *seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_assert_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:244,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:245,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:246,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:248,1
    - Dst: vsmw_append_record
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:252,1
    - Dst: vsmw_mkent
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:255,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:256,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:256,1
    - Dst: openat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:257,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:259,1
    - Dst: vsmw_idx_head
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:260,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:261,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:262,1
    - Dst: vsmw_fmt_index
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:263,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:264,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:264,1
    - Dst: XXXAZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:265,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:265,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:266,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:267,1
    - Dst: renameat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:267,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:268,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:271,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:272,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - vsmw
    - seg
    argTypes:
    - struct vsmw*
    - struct vsmwseg*
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 274
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 274
    functionName: vsmw_delseg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - vsmw_fmt_index
    - openat
    - VSB_clear
    - FREE_OBJ
    - REPLACE
    - VSB_tofile
    - XXXAZ
    - VTAILQ_REMOVE
    - VSB_data
    - VTAILQ_FOREACH
    - vsmw_append_record
    - vsmw_assert_lock
    - vsmw_idx_head
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - renameat
    - vsmw_mkent
    - closefd
    linkageType: ''
    returnType: void
    signature: void vsmw_delseg(struct vsmw *vsmw, struct vsmwseg *seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:283,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:285,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - lim
    argTypes:
    - char*
    - rlim_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: printlim
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void printlim(const char *name, rlim_t lim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:294,1
    - Dst: getrlimit
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:294,1
    - Dst: printlim
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:295,1
    - Dst: printlim
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: printmemlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - printlim
    - AZ
    linkageType: ''
    returnType: void
    signature: void printmemlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: printmemlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void printmemlock(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_assert_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:310,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:311,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:312,1
    - Dst: vsmw_mkent
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:314,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:315,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:315,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:317,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:319,1
    - Dst: RUP2
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:320,1
    - Dst: openat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:325,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:327,1
    - Dst: VFIL_allocate
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:327,1
    - Dst: mmap
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:329,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:334,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:335,1
    - Dst: mlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:336,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:337,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:338,1
    - Dst: printmemlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - vsmw
    - len
    - pfx
    argTypes:
    - struct vsmw*
    - size_t
    - char*
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - condition: (vc->ptr != MAP_FAILED)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 343
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 343
    functionName: vsmw_newcluster
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - VFIL_allocate
    - VAS_errtxt
    - mmap
    - openat
    - VTAILQ_INSERT_TAIL
    - fprintf
    - AN
    - REPLACE
    - RUP2
    - VSB_data
    - vsmw_assert_lock
    - AZ
    - assert
    - getpagesize
    - printmemlock
    - vsmw_mkent
    - mlock
    - ALLOC_OBJ
    - closefd
    linkageType: ''
    returnType: struct vsmw_cluster
    signature: 'struct vsmw_cluster *

      vsmw_newcluster(struct vsmw *vsmw, size_t len, const char *pfx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_do_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:351,1
    - Dst: vsmw_newcluster
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:352,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:353,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:356,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:357,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:361,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:362,1
    - Dst: vsmw_addseg
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:365,1
    - Dst: vsmw_do_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - vsmw
    - len
    - pfx
    argTypes:
    - struct vsmw*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 369
    functionName: VSMW_NewCluster
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - AN
    - vsmw_do_lock
    - vsmw_newcluster
    - REPLACE
    - vsmw_addseg
    - ALLOC_OBJ
    - vsmw_do_unlock
    linkageType: ''
    returnType: struct vsmw_cluster
    signature: 'struct vsmw_cluster *

      VSMW_NewCluster(struct vsmw *vsmw, size_t len, const char *pfx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_assert_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:375,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:376,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:377,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:379,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:381,1
    - Dst: munmap
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:381,1
    - Dst: vsmw_delseg
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:383,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:386,1
    - Dst: unlinkat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:387,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:388,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:389,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - vsmw
    - vc
    argTypes:
    - struct vsmw*
    - struct vsmw_cluster*
    assertStmts:
    - condition: (errno == ENOENT)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: vsmw_DestroyCluster_locked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - vsmw_assert_lock
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - REPLACE
    - munmap
    - AZ
    - assert
    - vsmw_delseg
    - VTAILQ_REMOVE
    - unlinkat
    linkageType: ''
    returnType: void
    signature: void vsmw_DestroyCluster_locked(struct vsmw *vsmw, struct vsmw_cluster
      *vc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:398,1
    - Dst: vsmw_do_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:400,1
    - Dst: vsmw_DestroyCluster_locked
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:402,1
    - Dst: vsmw_do_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vsmw
    - vsmcp
    argTypes:
    - struct vsmw*
    - struct vsmw_cluster**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 393
    functionDepth: 5
    functionLinenumber: 393
    functionLinenumberEnd: 404
    functionName: VSMW_DestroyCluster
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - vsmw_do_lock
    - vsmw_DestroyCluster_locked
    - vsmw_do_unlock
    linkageType: ''
    returnType: void
    signature: void VSMW_DestroyCluster(struct vsmw *vsmw, struct vsmw_cluster **vsmcp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_do_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:416,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:417,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:419,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:420,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:421,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:422,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:424,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:426,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:427,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:429,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:431,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:432,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:433,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:434,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:434,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:435,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:435,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:437,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:437,1
    - Dst: vsmw_newcluster
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:440,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:441,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:447,1
    - Dst: vsmw_addseg
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:450,1
    - Dst: vsmw_do_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 7
    argNames:
    - vsmw
    - vc
    - category
    - payload
    - prefix
    - fmt
    - va
    argTypes:
    - struct vsmw*
    - struct vsmw_cluster*
    - char*
    - size_t
    - char*
    - char*
    - va_list
    assertStmts:
    - condition: (l >= 0)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - condition: (vc->next <= vc->len)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - condition: (prefix[0] != '\0')
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - condition: (fmt[0] == '\0' || l < VSB_len(vsmw->vsb))
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 454
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 454
    functionName: VSMW_Allocv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 0
    functionsReached:
    - AN
    - vsmw_do_lock
    - CHECK_OBJ_NOTNULL
    - VSB_data
    - VSB_finish
    - vsmw_newcluster
    - REPLACE
    - AZ
    - assert
    - VSB_len
    - VSB_cat
    - PRNDUP
    - vsmw_addseg
    - VSB_clear
    - VSB_vprintf
    - ALLOC_OBJ
    - vsmw_do_unlock
    linkageType: ''
    returnType: void
    signature: "void *\nVSMW_Allocv(struct vsmw *vsmw, struct vsmw_cluster *vc,\n
      \   const char *category, size_t payload, const char *prefix,\n    const char
      *fmt, va_list va)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:463,1
    - Dst: VSMW_Allocv
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:464,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - vsmw
    - vc
    - category
    - len
    - fmt
    argTypes:
    - struct vsmw*
    - struct vsmw_cluster*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 467
    functionName: VSMW_Allocf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 2
    functionsReached:
    - VSMW_Allocv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: "void *\nVSMW_Allocf(struct vsmw *vsmw, struct vsmw_cluster *vc,\n
      \   const char *category, size_t len, const char *fmt, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_do_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:477,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:478,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:479,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:480,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:483,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:487,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:488,1
    - Dst: vsmw_delseg
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:490,1
    - Dst: vsmw_DestroyCluster_locked
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:493,1
    - Dst: vsmw_do_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - vsmw
    - pp
    argTypes:
    - struct vsmw*
    - void**
    assertStmts:
    - condition: (cp->refs > 0)
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 495
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 495
    functionName: VSMW_Free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 1
    functionsReached:
    - AN
    - vsmw_do_lock
    - CHECK_OBJ_NOTNULL
    - assert
    - vsmw_delseg
    - vsmw_DestroyCluster_locked
    - VTAILQ_FOREACH
    - vsmw_do_unlock
    linkageType: ''
    returnType: void
    signature: void VSMW_Free(struct vsmw *vsmw, void **pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:505,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:506,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:507,1
    - Dst: vsmw_do_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:509,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:510,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:511,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:513,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:514,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:515,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:516,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:517,1
    - Dst: getpid
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:520,1
    - Dst: time
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:521,1
    - Dst: unlinkat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:523,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:524,1
    - Dst: openat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:525,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:527,1
    - Dst: vsmw_idx_head
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:528,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:529,1
    - Dst: vsmw_do_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - vdirfd
    - mode
    - idxname
    argTypes:
    - int
    - int
    - char*
    assertStmts:
    - condition: (vdirfd > 0)
      pos:
        line_end: 504
        line_start: 504
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - condition: (mode > 0)
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - condition: (fd >= 0)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - condition: (errno == ENOENT)
      pos:
        line_end: 523
        line_start: 523
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 533
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 533
    functionName: VSMW_New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - vsmw_do_unlock
    - AN
    - vsmw_do_lock
    - vsmw_idx_head
    - VSB_new_auto
    - getpid
    - REPLACE
    - assert
    - openat
    - time
    - ALLOC_OBJ
    - closefd
    - unlinkat
    linkageType: ''
    returnType: struct vsmw
    signature: 'struct vsmw *

      VSMW_New(int vdirfd, int mode, const char *idxname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsmw_do_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:541,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:542,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:543,1
    - Dst: vsmw_delseg
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:544,1
    - Dst: unlinkat
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:545,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:546,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:547,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:548,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:549,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:550,1
    - Dst: vsmw_do_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct vsmw**
    assertStmts:
    - condition: (errno == ENOENT)
      pos:
        line_end: 545
        line_start: 545
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    constantsTouched: []
    func_position:
      end: 552
      start: 535
    functionDepth: 4
    functionLinenumber: 535
    functionLinenumberEnd: 552
    functionName: VSMW_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    functionUses: 1
    functionsReached:
    - vsmw_do_unlock
    - TAKE_OBJ_NOTNULL
    - vsmw_do_lock
    - closefd
    - FREE_OBJ
    - REPLACE
    - assert
    - vsmw_delseg
    - VTAILQ_FOREACH_SAFE
    - VSB_destroy
    - unlinkat
    linkageType: ''
    returnType: void
    signature: void VSMW_Destroy(struct vsmw **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: vsc_dummy_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vsc_dummy_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:91,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:92,1
    - Dst: VSMW_Allocv
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:93,1
    - Dst: VRT_VSC_Overhead
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:94,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - vc
    - category
    - payload
    - prefix
    - fmt
    - va
    argTypes:
    - struct vsmw_cluster*
    - char*
    - size_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: vrt_vsc_mksegv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached:
    - VSMW_Allocv
    - AN
    - ALLOC_OBJ
    - VRT_VSC_Overhead
    linkageType: ''
    returnType: struct vsc_seg
    signature: "struct vsc_seg *\nvrt_vsc_mksegv(struct vsmw_cluster *vc, const char
      *category,\n    size_t payload, const char *prefix, const char *fmt, va_list
      va)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:109,1
    - Dst: vrt_vsc_mksegv
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:110,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - category
    - payload
    - fmt
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: vrt_vsc_mksegf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached:
    - vrt_vsc_mksegv
    - va_start
    - va_end
    linkageType: ''
    returnType: struct vsc_seg
    signature: 'struct vsc_seg *

      vrt_vsc_mksegf(const char *category, size_t payload, const char *fmt, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - payload
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: VRT_VSC_Overhead
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 1
    functionsReached:
    - PRNDUP
    linkageType: ''
    returnType: size_t
    signature: size_t VRT_VSC_Overhead(size_t payload)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:124,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vsg
    argTypes:
    - struct vsc_seg*
    assertStmts:
    - condition: (vsg->head->ready > 0)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: VRT_VSC_Hide
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_VSC_Hide(const struct vsc_seg *vsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:132,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vsg
    argTypes:
    - struct vsc_seg*
    assertStmts:
    - condition: (vsg->head->ready > 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: VRT_VSC_Reveal
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_VSC_Reveal(const struct vsc_seg *vsg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vsc_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:145,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:149,1
    - Dst: vrt_vsc_mksegf
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:157,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:159,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:162,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:163,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:165,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:167,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:170,1
    - Dst: vrt_vsc_mksegv
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:173,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:177,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:178,1
    - Dst: vsc_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 8
    argNames:
    - vc
    - sg
    - nm
    - sd
    - jp
    - sj
    - fmt
    - va
    argTypes:
    - struct vsmw_cluster*
    - struct vsc_seg**
    - char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 184
    functionName: VRT_VSC_Allocv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached:
    - vsc_lock
    - AN
    - VTAILQ_INSERT_HEAD
    - memcpy
    - vrt_vsc_mksegv
    - vsc_unlock
    - VWMB
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    - vrt_vsc_mksegf
    linkageType: ''
    returnType: void
    signature: "void *\nVRT_VSC_Allocv(struct vsmw_cluster *vc, struct vsc_seg **sg,\n
      \   const char *nm, size_t sd,\n    const unsigned char *jp, size_t sj, const
      char *fmt, va_list va)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:194,1
    - Dst: VRT_VSC_Allocv
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:195,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - vc
    - sg
    - nm
    - sd
    - jp
    - sj
    - fmt
    argTypes:
    - struct vsmw_cluster*
    - struct vsc_seg**
    - char*
    - size_t
    - unsigned char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 8
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: VRT_VSC_Alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - VRT_VSC_Allocv
    linkageType: ''
    returnType: void
    signature: "void *\nVRT_VSC_Alloc(struct vsmw_cluster *vc, struct vsc_seg **sg,\n
      \   const char *nm, size_t sd,\n    const unsigned char *jp, size_t sj, const
      char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsc_lock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:205,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:207,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:208,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:209,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:210,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:211,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:212,1
    - Dst: VSMW_Free
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:214,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:215,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:216,1
    - Dst: VSMW_Free
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:218,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:219,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:220,1
    - Dst: vsc_unlock
      Src: /src/vinyl-cache/bin/vinyld/common/common_vsc.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - nm
    - vsg
    argTypes:
    - char*
    - struct vsc_seg*
    assertStmts:
    - condition: (vsg->vsm == heritage.proc_vsmw)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    - condition: (vsg->nm == nm)
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    constantsTouched: []
    func_position:
      end: 223
      start: 200
    functionDepth: 6
    functionLinenumber: 200
    functionLinenumberEnd: 223
    functionName: VRT_VSC_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    functionUses: 0
    functionsReached:
    - vsc_lock
    - AN
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - vsc_unlock
    - AZ
    - CAST_OBJ_NOTNULL
    - assert
    - VTAILQ_REMOVE
    - VSMW_Free
    linkageType: ''
    returnType: void
    signature: void VRT_VSC_Destroy(const char *nm, struct vsc_seg *vsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - uint8_t*
    - enum debug_bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: COM_DO_DEBUG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_param.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int COM_DO_DEBUG(const volatile uint8_t *p, enum debug_bits x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - uint8_t*
    - enum experimental_bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: COM_EXPERIMENT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_param.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int COM_EXPERIMENT(const volatile uint8_t *p, enum experimental_bits
      x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - uint8_t*
    - enum feature_bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: COM_FEATURE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_param.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int COM_FEATURE(const volatile uint8_t *p, enum feature_bits x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - x
    argTypes:
    - uint8_t*
    - enum vcc_feature_bits
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: COM_VCC_FEATURE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_param.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int COM_VCC_FEATURE(const volatile uint8_t *p, enum vcc_feature_bits
      x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: PARAM_BITMAP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_param.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_BITMAP(name, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - typ
    - ','
    - fld
    - ','
    - nm
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: PARAM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/common/common_param.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM(typ, fld, nm, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h2s
    - buf
    - n
    argTypes:
    - struct h2_settings*
    - uint8_t*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: h2_enc_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t h2_enc_settings(const struct h2_settings *h2s, uint8_t *buf,
      ssize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - v
    - ','
    - d
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: H2_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING(U,l,v,d,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: h2_local_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_local_settings(struct h2_settings *h2s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: H2_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING(U, l, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:97,1
    - Dst: VSL_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:99,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:104,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:107,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:108,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:109,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - h2
    - tag
    - fmt
    argTypes:
    - struct h2_sess*
    - enum VSL_tag_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: H2S_Lock_VSLb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - Lck_Lock
    - va_start
    - VSL_tag_is_masked
    - VSLbv
    - va_end
    linkageType: ''
    returnType: void
    signature: void H2S_Lock_VSLb(const struct h2_sess *h2, enum VSL_tag_e tag, const
      char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:131,1
    - Dst: SES_Get_proto_priv
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:131,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:132,1
    - Dst: Req_New
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:135,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:136,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:138,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:139,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:144,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:148,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:149,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:149,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:150,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:151,1
    - Dst: h2_local_settings
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:152,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:162,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:162,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:164,1
    - Dst: VHT_Init
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 4
    argNames:
    - sp
    - h2s
    - srq
    - decode
    argTypes:
    - struct sess*
    - struct h2_sess*
    - struct req*
    - struct h2h_decode*
    assertStmts:
    - condition: (*up == 0)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    constantsTouched: []
    func_position:
      end: 169
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 169
    functionName: h2_init_sess
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - VTAILQ_INIT
    - h2_local_settings
    - SES_Get_proto_priv
    - AN
    - INIT_OBJ
    - Req_New
    - VSL_Flush
    - AZ
    - assert
    - PTOK
    - isnan
    - VHT_Init
    - pthread_cond_init
    linkageType: ''
    returnType: struct h2_sess
    signature: "struct h2_sess *\nh2_init_sess(struct sess *sp,\n    struct h2_sess
      *h2s, struct req *srq, struct h2h_decode *decode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:177,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:178,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:179,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:179,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:180,1
    - Dst: VHT_Fini
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:182,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:183,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:183,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:184,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:185,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:185,1
    - Dst: Req_Cleanup
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:187,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:188,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - wrk
    - h2
    - reason
    argTypes:
    - struct worker*
    - struct h2_sess*
    - stream_close_t
    assertStmts:
    - condition: (VTAILQ_EMPTY(&h2->streams))
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    - condition: (!WS_IsReserved(req->ws))
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: h2_del_sess
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - SES_Delete
    - AN
    - TAKE_OBJ_NOTNULL
    - Req_Cleanup
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - AZ
    - assert
    - PTOK
    - VHT_Fini
    - WS_IsReserved
    - Req_Release
    linkageType: ''
    returnType: void
    signature: void h2_del_sess(struct worker *wrk, struct h2_sess *h2, stream_close_t
      reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:199,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - htc
    argTypes:
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: H2_prism_complete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 2
    functionsReached:
    - memcmp
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void H2_prism_complete(struct http_conn *htc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:231,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:233,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:234,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:240,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:244,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:253,1
    - Dst: h2_set_setting
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - h2
    - req
    argTypes:
    - struct h2_sess*
    - struct req*
    assertStmts:
    - condition: (i >= 0 && i <= 64)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    constantsTouched: []
    func_position:
      end: 262
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 262
    functionName: h2_b64url_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - AN
    - http_GetHdr
    - AZ
    - assert
    - h2_set_setting
    - strchr
    - VSLb
    linkageType: ''
    returnType: int
    signature: int h2_b64url_settings(struct h2_sess *h2, struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:270,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:271,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:272,1
    - Dst: Req_AcctLogCharge
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:273,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: h2_ou_rel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - Req_Release
    - Req_AcctLogCharge
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: int
    signature: int h2_ou_rel(struct worker *wrk, struct req *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: h2_b64url_settings
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:286,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:287,1
    - Dst: h2_ou_rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:288,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:291,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:291,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:292,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:293,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:294,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:295,1
    - Dst: h2_ou_rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:296,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:299,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:300,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:310,1
    - Dst: h2_new_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:313,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:314,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:317,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:323,1
    - Dst: HTC_RxStuff
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:326,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:330,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:332,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:335,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:337,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 3
    argNames:
    - wrk
    - h2
    - req
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct req*
    assertStmts:
    - condition: (req->req_step == R_STP_TRANSPORT)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    constantsTouched: []
    func_position:
      end: 342
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 342
    functionName: h2_ou_session
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - HTC_RxStuff
    - http_SetH
    - VAS_errtxt
    - h2_b64url_settings
    - http_Unset
    - Pool_Task
    - h2_new_req
    - HTC_RxInit
    - AZ
    - h2_ou_rel
    - write
    - VTCP_Assert
    - assert
    - h2_del_req
    - strlen
    - VSLb
    linkageType: ''
    returnType: int
    signature: "int h2_ou_session(struct worker *wrk, struct h2_sess *h2,\n    struct
      req *req)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:353,1
    - Dst: SES_SetTransport
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wrk
    - sp
    - req
    argTypes:
    - struct worker*
    - struct sess*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: H2_PU_Sess
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 1
    functionsReached:
    - VSL
    - SES_SetTransport
    linkageType: ''
    returnType: void
    signature: void H2_PU_Sess(struct worker *wrk, struct sess *sp, struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:361,1
    - Dst: SES_SetTransport
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wrk
    - sp
    - req
    argTypes:
    - struct worker*
    - struct sess*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: H2_OU_Sess
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 1
    functionsReached:
    - VSL
    - SES_SetTransport
    linkageType: ''
    returnType: void
    signature: void H2_OU_Sess(struct worker *wrk, struct sess *sp, struct req *req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:379,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:380,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:382,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:385,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:387,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:389,1
    - Dst: h2_init_sess
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:391,1
    - Dst: h2_new_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:393,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:394,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:397,1
    - Dst: h2_ou_session
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:400,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:401,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:402,1
    - Dst: h2_del_sess
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:403,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:407,1
    - Dst: H2_prism_complete
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:407,1
    - Dst: HTC_RxPipeline
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:408,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:409,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:410,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:410,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:411,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:413,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:414,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:414,1
    - Dst: h2_enc_settings
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:416,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:417,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:417,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:418,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:419,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:419,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:420,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:422,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:422,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:423,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:424,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:424,1
    - Dst: h2_rxframe
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:429,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:430,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:431,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:432,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:436,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:436,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:439,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:439,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:440,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:443,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:444,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:445,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:449,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:449,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:451,1
    - Dst: pthread_cond_broadcast
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:451,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:452,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:455,1
    - Dst: h2_kill_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:457,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:463,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:464,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:465,1
    - Dst: Lck_CondWaitTimeout
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:467,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:468,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:471,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:472,1
    - Dst: h2_del_sess
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (HTC_S_COMPLETE == H2_prism_complete(h2->htc))
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    - condition: (req->err_code == H2_PU_MARKER || req->err_code == H2_OU_MARKER)
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    - condition: (h2->refcnt == 1)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    - condition: (req->transport == &HTTP2_transport)
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    - condition: (!WS_IsReserved(h2->ws))
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    - condition: (h2->refcnt == 1)
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    constantsTouched: []
    func_position:
      end: 475
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 475
    functionName: h2_new_session
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - H2_Send_Rel
    - h2_del_sess
    - h2_new_req
    - h2_enc_settings
    - H2S_Lock_VSLb
    - VSLb
    - H2_Send_Frame
    - WS_Overflowed
    - AN
    - pthread_cond_broadcast
    - CAST_OBJ_NOTNULL
    - h2_ou_session
    - h2_init_sess
    - Lck_Lock
    - WS_IsReserved
    - VTAILQ_FOREACH
    - h2_kill_req
    - VCL_Rel
    - CHECK_OBJ_NOTNULL
    - H2_Send_Get
    - H2_prism_complete
    - Lck_CondWaitTimeout
    - AZ
    - assert
    - h2_del_req
    - HTC_RxPipeline
    - PTOK
    - THR_SetRequest
    - h2_rxframe
    - VTAILQ_FOREACH_SAFE
    - Lck_Unlock
    - HTC_RxInit
    - WS_Reservation
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void h2_new_session(struct worker *wrk, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:482,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: h2_poll
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2_poll(struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - v
    - ','
    - g
    - ','
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: H2EC1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2EC1(U,v,g,r,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - v
    - ','
    - g
    - ','
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: H2EC2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2EC2(U,v,g,r,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - v
    - ','
    - g
    - ','
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: H2EC3
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2EC3(U,v,g,r,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - NAME
    - ','
    - val
    - ','
    - sc
    - ','
    - goaway
    - ','
    - reason
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: H2_ERROR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_ERROR(NAME, val, sc, goaway, reason, desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - h2f
    argTypes:
    - enum h2frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: h2_framename
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      h2_framename(enum h2frame h2f)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - t
    - ','
    - f
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: H2_FRAME
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_FRAME(l,u,t,f,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: H2_FRAME_FLAGS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_FRAME_FLAGS(l,u,v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: h2_streamerror
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_streamerror(uint32_t u)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - u
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: h2_connectionerror
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_connectionerror(uint32_t u)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:151,1
    - Dst: Req_New
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:153,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:154,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:156,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:157,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:158,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:168,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:171,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - h2
    - stream
    - req
    argTypes:
    - struct h2_sess*
    - unsigned
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: h2_new_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - Req_New
    - ASSERT_RXTHR
    - WS_Alloc
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: struct h2_req
    signature: 'struct h2_req *

      h2_new_req(struct h2_sess *h2, unsigned stream, struct req *req)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:184,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:185,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:187,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:188,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:190,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:191,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:194,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:199,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:199,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:200,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:202,1
    - Dst: STV_FreeBuf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:206,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:207,1
    - Dst: Req_Cleanup
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:210,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:211,1
    - Dst: WRK_AddStat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:212,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - wrk
    - r2
    argTypes:
    - struct worker*
    - struct h2_req*
    assertStmts:
    - condition: (h2->refcnt > 0)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (!WS_IsReserved(r2->req->ws))
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 214
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 214
    functionName: h2_del_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - Req_Cleanup
    - WRK_AddStat
    - Req_Release
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - AZ
    - assert
    - Lck_Lock
    - WS_IsReserved
    - FEATURE
    - VTAILQ_REMOVE
    - CHECK_OBJ_ORNULL
    - STV_FreeBuf
    linkageType: ''
    returnType: void
    signature: void h2_del_req(struct worker *wrk, struct h2_req *r2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:221,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:222,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:223,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:224,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:227,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:235,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:235,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:237,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:239,1
    - Dst: h2h_decode_hdr_fini
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:241,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - wrk
    - h2
    - r2
    - h2e
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    - h2_error
    assertStmts:
    - condition: (h2->open_streams > 0)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 245
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 245
    functionName: h2_kill_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - ASSERT_RXTHR
    - assert
    - PTOK
    - h2_del_req
    - Lck_Lock
    - h2h_decode_hdr_fini
    - pthread_cond_signal
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void h2_kill_req(struct worker *wrk, struct h2_sess *h2,\n    struct
      h2_req *r2, h2_error h2e)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSL_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:257,1
    - Dst: VSL_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:258,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:261,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:262,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:265,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:266,1
    - Dst: h2_framename
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:267,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:269,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:271,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:273,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:274,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:275,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:276,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:277,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:279,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:280,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:282,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:282,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:283,1
    - Dst: VSLb_bin
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:284,1
    - Dst: VSLb_bin
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:286,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:288,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:288,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:289,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - h2
    - ptr
    - len
    argTypes:
    - struct h2_sess*
    - void*
    - size_t
    assertStmts:
    - condition: (len >= 9)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 291
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 291
    functionName: h2_vsl_frame
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - VSB_destroy
    - VSB_putc
    - VSLb_bin
    - VSB_finish
    - h2_framename
    - VSB_printf
    - AZ
    - assert
    - vbe32dec
    - VSB_cat
    - VSB_quote
    - Lck_Lock
    - VSL_tag_is_masked
    - VSB_data
    - VSB_new_auto
    - VSLb
    linkageType: ''
    returnType: void
    signature: void h2_vsl_frame(const struct h2_sess *h2, const void *ptr, size_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:301,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:302,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:303,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:304,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:307,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:310,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:312,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:315,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:316,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts:
    - condition: (r2 == h2->req0)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 320
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 320
    functionName: h2_rx_ping
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - H2_Send_Get
    - H2_Send_Rel
    - AZ
    - assert
    - H2S_Lock_VSLb
    - H2_Send_Frame
    linkageType: ''
    returnType: void
    signature: void h2_rx_ping(struct worker *wrk, struct h2_sess *h2, struct h2_req
      *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:329,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:330,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:331,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: h2_rx_push_promise
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - H2S_Lock_VSLb
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    linkageType: ''
    returnType: void
    signature: void h2_rx_push_promise(struct worker *wrk, struct h2_sess *h2, struct
      h2_req *r2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:347,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:348,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:349,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:354,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:355,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 361
    functionName: h2_rapid_reset_check
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: "int h2_rapid_reset_check(struct worker *wrk, struct h2_sess *h2,\n
      \   const struct h2_req *r2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:371,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:372,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:372,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:373,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:375,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:380,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:387,1
    - Dst: H2_Send_GOAWAY
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 393
    functionName: h2_rapid_reset_charge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - vmin_t
    - H2S_Lock_VSLb
    - H2_Send_GOAWAY
    - H2_SEND_HELD
    linkageType: ''
    returnType: h2_error
    signature: "h2_error h2_rapid_reset_charge(struct worker *wrk, struct h2_sess
      *h2,\n    const struct h2_req *r2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:400,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:401,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:402,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:405,1
    - Dst: h2_rapid_reset_check
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:410,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:411,1
    - Dst: h2_rapid_reset_charge
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:412,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:413,1
    - Dst: h2_kill_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:415,1
    - Dst: h2_streamerror
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:415,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 417
    functionName: h2_rx_rst_stream
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - H2_Send_Get
    - H2_Send_Rel
    - h2_rapid_reset_charge
    - H2S_Lock_VSLb
    - vbe32dec
    - h2_rapid_reset_check
    - h2_streamerror
    - CHECK_OBJ_ORNULL
    - h2_kill_req
    linkageType: ''
    returnType: void
    signature: void h2_rx_rst_stream(struct worker *wrk, struct h2_sess *h2, struct
      h2_req *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:426,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:427,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:428,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:429,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:432,1
    - Dst: h2_connectionerror
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:433,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:433,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts:
    - condition: (r2 == h2->req0)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: h2_rx_goaway
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - h2_connectionerror
    - assert
    - vbe32dec
    - H2S_Lock_VSLb
    linkageType: ''
    returnType: void
    signature: void h2_rx_goaway(struct worker *wrk, struct h2_sess *h2, struct h2_req
      *r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:441,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:442,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:447,1
    - Dst: H2_Send_GOAWAY
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:448,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - wrk
    - h2
    - h2e
    argTypes:
    - struct worker*
    - struct h2_sess*
    - h2_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 450
    functionName: h2_tx_goaway
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - H2_Send_Rel
    - H2_Send_Get
    - ASSERT_RXTHR
    - H2_Send_GOAWAY
    linkageType: ''
    returnType: void
    signature: void h2_tx_goaway(struct worker *wrk, struct h2_sess *h2, h2_error
      h2e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:460,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:461,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:462,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:465,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:468,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:473,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:476,1
    - Dst: pthread_cond_broadcast
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:476,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:478,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:478,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 483
    functionName: h2_rx_window_update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - pthread_cond_broadcast
    - H2S_Lock_VSLb
    - vbe32dec
    - PTOK
    - Lck_Lock
    - CHECK_OBJ_ORNULL
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void h2_rx_window_update(struct worker *wrk, struct h2_sess *h2, struct
      h2_req *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:495,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:496,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: h2_rx_priority
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    linkageType: ''
    returnType: void
    signature: void h2_rx_priority(struct worker *wrk, struct h2_sess *h2, struct
      h2_req *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: H2_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING(U,l, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: H2_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING(U, l, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:533,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:535,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - h2
    - oldval
    - newval
    argTypes:
    - struct h2_sess*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 553
    functionName: h2_win_adjust
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - Lck_AssertHeld
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2_win_adjust(const struct h2_sess *h2, uint32_t oldval, uint32_t
      newval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:562,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:563,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:566,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:571,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:573,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:575,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:576,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:579,1
    - Dst: h2_win_adjust
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:581,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:582,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:583,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:584,1
    - Dst: struct h2_setting_s*::setfunc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - h2
    - d
    argTypes:
    - struct h2_sess*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 587
    functionName: h2_set_setting
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - struct h2_setting_s*::setfunc
    - vbe32dec
    - H2S_Lock_VSLb
    - vbe16dec
    - DO_DEBUG
    - Lck_Lock
    - h2_win_adjust
    - VSLb
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_set_setting(struct h2_sess *h2, const uint8_t *d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:596,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:597,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:598,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:599,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:600,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:604,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:611,1
    - Dst: h2_set_setting
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:617,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:621,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:622,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts:
    - condition: (r2 == h2->req0)
      pos:
        line_end: 598
        line_start: 598
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 627
      start: 590
    functionDepth: 3
    functionLinenumber: 590
    functionLinenumberEnd: 627
    functionName: h2_rx_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - H2_Send_Get
    - H2_Send_Rel
    - AZ
    - assert
    - H2S_Lock_VSLb
    - h2_set_setting
    - H2_Send_Frame
    linkageType: ''
    returnType: void
    signature: void h2_rx_settings(struct worker *wrk, struct h2_sess *h2, struct
      h2_req *r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:640,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:641,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:642,1
    - Dst: CNT_Embark
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:643,1
    - Dst: CNT_Request
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:645,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:647,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:647,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:648,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:650,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:651,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:655,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (!WS_IsReserved(req->ws))
      pos:
        line_end: 646
        line_start: 646
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 658
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 658
    functionName: h2_do_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - CNT_Embark
    - Lck_Unlock
    - CNT_Request
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - AZ
    - Lck_Lock
    - WS_IsReserved
    - THR_SetRequest
    linkageType: ''
    returnType: void
    signature: void h2_do_req(struct worker *wrk, void *priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:667,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:668,1
    - Dst: h2h_decode_hdr_fini
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:669,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:672,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:673,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:673,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:674,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:677,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:678,1
    - Dst: http_CollectHdrSep
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:683,1
    - Dst: http_GetContentLength
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:685,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:686,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:688,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:708,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:711,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:718,1
    - Dst: http_SetWellKnownMethod
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:722,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:725,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:729,1
    - Dst: http_method_eq
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:732,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:733,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:737,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:738,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:739,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 4
    argNames:
    - wrk
    - h2
    - req
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct req*
    - struct h2_req*
    assertStmts:
    - condition: (cl >= -2)
      pos:
        line_end: 685
        line_start: 685
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (req->req_body_status == BS_NONE)
      pos:
        line_end: 707
        line_start: 707
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (r2->state == H2_S_OPEN)
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (!WS_IsReserved(r2->req->ws))
      pos:
        line_end: 672
        line_start: 672
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (req->req_step == R_STP_TRANSPORT)
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 749
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 749
    functionName: h2_end_headers
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - http_method_eq
    - ASSERT_RXTHR
    - VTIM_real
    - Pool_Task
    - http_GetContentLength
    - assert
    - H2S_Lock_VSLb
    - h2_del_req
    - http_SetWellKnownMethod
    - WS_IsReserved
    - h2h_decode_hdr_fini
    - VSLb_ts_req
    - http_CollectHdrSep
    - VCL_TaskEnter
    linkageType: ''
    returnType: h2_error
    signature: "h2_error h2_end_headers(struct worker *wrk, struct h2_sess *h2,\n
      \   struct req *req, struct h2_req *r2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:759,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:760,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:763,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:768,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:777,1
    - Dst: h2_new_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:783,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:784,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:785,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:789,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:791,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:792,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:792,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:793,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:793,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:801,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:804,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:805,1
    - Dst: h2h_decode_hdr_init
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:807,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:813,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:821,1
    - Dst: h2h_decode_bytes
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:828,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:830,1
    - Dst: h2h_decode_hdr_fini
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:831,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:832,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:832,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:833,1
    - Dst: h2_end_headers
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:841,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts:
    - condition: (r2->state == H2_S_IDLE)
      pos:
        line_end: 784
        line_start: 784
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (!WS_IsReserved(r2->req->ws))
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 843
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 843
    functionName: h2_rx_headers
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - HTTP_Setup
    - h2_new_req
    - VSL
    - h2h_decode_hdr_init
    - h2_end_headers
    - H2S_Lock_VSLb
    - assert
    - h2_del_req
    - h2h_decode_bytes
    - VSLb_ts_req
    - VXID_Get
    - h2h_decode_hdr_fini
    - WS_IsReserved
    - VXID
    - VSLb
    linkageType: ''
    returnType: void
    signature: void h2_rx_headers(struct worker *wrk, struct h2_sess *h2, struct h2_req
      *r2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:853,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:854,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:855,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:858,1
    - Dst: h2h_decode_bytes
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:863,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:866,1
    - Dst: h2h_decode_hdr_fini
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:867,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:868,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:868,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:869,1
    - Dst: h2_end_headers
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts:
    - condition: (!WS_IsReserved(r2->req->ws))
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 875
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 875
    functionName: h2_rx_continuation
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - h2_end_headers
    - H2S_Lock_VSLb
    - assert
    - h2_del_req
    - h2h_decode_bytes
    - h2h_decode_hdr_fini
    - WS_IsReserved
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void h2_rx_continuation(struct worker *wrk, struct h2_sess *h2, struct
      h2_req *r2)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:892,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:893,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:894,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:904,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:905,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:909,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:909,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:910,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:919,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:924,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:924,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:925,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:942,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:947,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:947,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:948,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:956,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:961,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:961,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:962,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:968,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:969,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:970,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:971,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:972,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:973,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:979,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:984,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:984,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:985,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:999,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1007,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1008,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1009,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1010,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1012,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1013,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1019,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1019,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1020,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1031,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1041,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1047,1
    - Dst: STV_AllocBuf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1048,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1051,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1052,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1058,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1058,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1059,1
    - Dst: STV_GetBufPtr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1062,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1063,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1064,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1065,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1065,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1066,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1072,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1075,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1076,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1078,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1080,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1082,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1090,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1091,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1097,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1106,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1110,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1110,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1111,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 153
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts:
    - condition: (r2->rxbuf->tail <= r2->rxbuf->head)
      pos:
        line_end: 1105
        line_start: 1105
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (bstest >= bufsize + sizeof *rxbuf)
      pos:
        line_end: 1063
        line_start: 1063
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (bufsize > 0)
      pos:
        line_end: 1040
        line_start: 1040
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (PAOK(rxbuf))
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (l <= r2->rxbuf->size)
      pos:
        line_end: 1077
        line_start: 1077
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (r2->rxbuf->tail <= r2->rxbuf->head)
      pos:
        line_end: 1075
        line_start: 1075
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (len <= l)
      pos:
        line_end: 1079
        line_start: 1079
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (l2 > 0)
      pos:
        line_end: 1089
        line_start: 1089
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 1114
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 1114
    functionName: h2_rx_data
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - H2_Send_Rel
    - VSLb
    - H2_Send_Frame
    - vbe32enc
    - AN
    - memcpy
    - ASSERT_RXTHR
    - STV_GetBufPtr
    - Lck_Lock
    - PAOK
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - H2_Send_Get
    - assert
    - PTOK
    - CHECK_OBJ_ORNULL
    - Lck_Unlock
    - pthread_cond_signal
    - STV_AllocBuf
    linkageType: ''
    returnType: void
    signature: void h2_rx_data(struct worker *wrk, struct h2_sess *h2, struct h2_req
      *r2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1128,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1129,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1130,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1133,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1134,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1135,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1137,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1141,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1143,1
    - Dst: Lck_CondWaitTimeout
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1161,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1162,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1170,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1184,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1185,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1191,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1193,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1195,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1202,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1210,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1213,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1214,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1215,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1217,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 4
    argNames:
    - vc
    - vfe
    - ptr
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts:
    - condition: (*lp >= 0)
      pos:
        line_end: 1134
        line_start: 1134
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (r2->rxbuf->tail <= r2->rxbuf->head)
      pos:
        line_end: 1142
        line_start: 1142
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (r2->rxbuf->tail <= r2->rxbuf->head)
      pos:
        line_end: 1194
        line_start: 1194
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (r2->r_window <= l)
      pos:
        line_end: 1201
        line_start: 1201
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (l2 > 0)
      pos:
        line_end: 1183
        line_start: 1183
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 1221
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1221
    functionName: h2_vfp_body
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - vbe32enc
    - CHECK_OBJ_NOTNULL
    - memcpy
    - H2_Send_Get
    - H2_Send_Rel
    - Lck_CondWaitTimeout
    - SESS_TMO
    - CAST_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - CHECK_OBJ_ORNULL
    - H2_Send_Frame
    linkageType: ''
    returnType: void
    signature: void h2_vfp_body(struct vfp_ctx *vc, struct vfp_entry *vfe, void *ptr,
      ssize_t *lp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1230,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1231,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1232,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1233,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1237,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1238,1
    - Dst: H2_Send_RST
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1239,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1241,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1242,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1244,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1248,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1249,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1254,1
    - Dst: STV_FreeBuf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1256,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1257,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - vc
    - vfe
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1260
    functionName: h2_vfp_body_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - H2_Send_RST
    - Lck_Unlock
    - H2_Send_Rel
    - H2_Send_Get
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - AZ
    - Lck_Lock
    - CHECK_OBJ_ORNULL
    - STV_FreeBuf
    linkageType: ''
    returnType: void
    signature: void h2_vfp_body_fini(struct vfp_ctx *vc, struct vfp_entry *vfe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1274,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1275,1
    - Dst: VFP_Push
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1276,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1279
    functionName: h2_req_body
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - VFP_Push
    - AN
    - CHECK_OBJ
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2_req_body(struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1286,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1287,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - reason
    argTypes:
    - struct req*
    - stream_close_t
    assertStmts:
    - condition: (reason != SC_NULL)
      pos:
        line_end: 1285
        line_start: 1285
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    - condition: (req->sp->fd != 0)
      pos:
        line_end: 1286
        line_start: 1286
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 1289
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1289
    functionName: h2_req_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - assert
    - VSLb
    linkageType: ''
    returnType: void
    signature: void h2_req_fail(struct req *req, stream_close_t reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1298,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1299,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - htc
    argTypes:
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1304
    functionName: h2_frame_complete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - vbe32dec
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2_frame_complete(struct http_conn *htc)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1314,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1316,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1322,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1328,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1337,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1342,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1347,1
    - Dst: h2_frame::rxfunc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1352,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1358,1
    - Dst: H2_Send_RST
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1359,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1360,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - wrk
    - h2
    - h2f
    argTypes:
    - struct worker*
    - struct h2_sess*
    - h2_frame
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1362
    functionName: h2_procframe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - H2_Send_RST
    - H2_Send_Get
    - h2_frame::rxfunc
    - ASSERT_RXTHR
    - H2_Send_Rel
    - H2S_Lock_VSLb
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_procframe(struct worker *wrk, struct h2_sess *h2, h2_frame
      h2f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1369,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1370,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1371,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1376,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1377,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1386,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1388,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1394,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1395,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - h2
    - r2
    - now
    argTypes:
    - struct h2_sess*
    - struct h2_req*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1401
    functionName: h2_stream_tmo
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - SESS_TMO
    - isnan
    - Lck_AssertHeld
    - VSLb
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_stream_tmo(struct h2_sess *h2, const struct h2_req *r2,
      vtim_real now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1408,1
    - Dst: h2_stream_tmo
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1409,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - h2
    - r2
    argTypes:
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1413
    functionName: h2_stream_tmo_unlocked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - Lck_Lock
    - h2_stream_tmo
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_stream_tmo_unlocked(struct h2_sess *h2, const struct h2_req
      *r2)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1426,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1429,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1435,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1437,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1442,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1443,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1447,1
    - Dst: H2_Send_RST
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1448,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1450,1
    - Dst: h2_del_req
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1451,1
    - Dst: h2_stream_tmo_unlocked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1457,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1467,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - wrk
    - h2
    argTypes:
    - struct worker*
    - struct h2_sess*
    assertStmts:
    - condition: (r2->state == H2_S_IDLE)
      pos:
        line_end: 1436
        line_start: 1436
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    constantsTouched: []
    func_position:
      end: 1472
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1472
    functionName: h2_sweep
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - H2_Send_RST
    - H2_Send_Get
    - ASSERT_RXTHR
    - VTIM_real
    - H2_Send_Rel
    - h2_stream_tmo_unlocked
    - AZ
    - assert
    - h2_del_req
    - WRONG
    - VTAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_sweep(struct worker *wrk, struct h2_sess *h2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIKELY
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1487,1
    - Dst: VSL_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1487,1
    - Dst: HTC_Status
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1490,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hs
    - h2
    argTypes:
    - enum htc_status_e
    - struct h2_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1482
    functionDepth: 2
    functionLinenumber: 1482
    functionLinenumberEnd: 1494
    functionName: h2_htc_debug
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached:
    - HTC_Status
    - LIKELY
    - H2S_Lock_VSLb
    - VSL_tag_is_masked
    linkageType: ''
    returnType: void
    signature: void h2_htc_debug(enum htc_status_e hs, struct h2_sess *h2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1502
    functionName: H2_FRAME
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_FRAME(l,U,...)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1519,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1523,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1528,1
    - Dst: HTC_RxStuff
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1529,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1530,1
    - Dst: h2_htc_debug
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1535,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1539,1
    - Dst: h2_sweep
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1541,1
    - Dst: h2_sweep
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1546,1
    - Dst: HTC_Status
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1549,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1550,1
    - Dst: h2_tx_goaway
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1556,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1563,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1566,1
    - Dst: HTC_RxPipeline
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1570,1
    - Dst: h2_vsl_frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1572,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1579,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1587,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1588,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1595,1
    - Dst: h2_procframe
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1601,1
    - Dst: h2_tx_goaway
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c:1604,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - wrk
    - h2
    argTypes:
    - struct worker*
    - struct h2_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1511
    functionDepth: 4
    functionLinenumber: 1511
    functionLinenumberEnd: 1608
    functionName: h2_rxframe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
    functionUses: 1
    functionsReached:
    - AN
    - HTC_RxStuff
    - ASSERT_RXTHR
    - VTIM_real
    - h2_procframe
    - h2_htc_debug
    - HTC_Status
    - H2S_Lock_VSLb
    - vbe32dec
    - WS_ReleaseP
    - h2_tx_goaway
    - HTC_RxPipeline
    - VTCP_blocking
    - h2_sweep
    - h2_vsl_frame
    linkageType: ''
    returnType: int
    signature: int h2_rxframe(struct worker *wrk, struct h2_sess *h2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:46,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:47,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:48,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:49,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:50,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct h2h_decode*
    assertStmts:
    - condition: (d->out[d->namelen - 2] == ':')
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (d->namelen >= 2)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (d->namelen <= d->out_u)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (d->out[d->namelen - 1] == ' ')
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: h2h_assert_ready
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2h_assert_ready(const struct h2h_decode *d)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:67,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:68,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:75,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:75,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:75,1
    - Dst: isupper
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:85,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:86,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:91,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:92,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:99,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:107,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:108,1
    - Dst: vct_ishdrval
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:116,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:117,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:124,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:127,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:128,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - vsl
    - nm
    - val
    argTypes:
    - struct vsl_log*
    - txt
    - txt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 134
    functionName: h2h_checkhdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - vct_ishdrval
    - vct_istchar
    - vct_issp
    - vmin_t
    - isupper
    - WRONG
    - Tlen
    - VSLb
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2h_checkhdr(struct vsl_log *vsl, txt nm, txt val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isupper
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:85,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:86,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:91,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:92,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: Tforeach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - vct_istchar
    - WRONG
    - VSLb
    - isupper
    linkageType: ''
    returnType: void
    signature: void Tforeach(p, nm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:107,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:108,1
    - Dst: vct_ishdrval
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:116,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:117,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: Tforeach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - vct_ishdrval
    - vct_issp
    - WRONG
    - VSLb
    linkageType: ''
    returnType: void
    signature: void Tforeach(p, val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:146,1
    - Dst: h2h_assert_ready
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:147,1
    - Dst: h2h_checkhdr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:160,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:167,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:168,1
    - Dst: Tstreq
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:174,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:181,1
    - Dst: Tstreq
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:184,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:190,1
    - Dst: Tstreq
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:190,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:191,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:193,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:199,1
    - Dst: vct_isctl
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:199,1
    - Dst: Tstreq
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:202,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:213,1
    - Dst: Tstreq
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:216,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:220,1
    - Dst: Tstr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:222,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:226,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:228,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:228,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:232,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:233,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:235,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:242,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:244,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:244,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:248,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:252,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:253,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:255,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 2
    argNames:
    - hp
    - d
    argTypes:
    - struct http*
    - struct h2h_decode*
    assertStmts:
    - condition: (nm.b[0] == ':')
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    constantsTouched: []
    func_position:
      end: 261
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 261
    functionName: h2h_addhdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - h2h_assert_ready
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - h2h_checkhdr
    - memcpy
    - vct_istchar
    - Tstr
    - vct_isctl
    - vmin_t
    - AZ
    - assert
    - Tlen
    - Tstreq
    - VSLb
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2h_addhdr(struct http *hp, struct h2h_decode *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: Tforeach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - vct_istchar
    linkageType: ''
    returnType: void
    signature: void Tforeach(p, hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:199,1
    - Dst: vct_isctl
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: Tforeach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - vct_isctl
    - vct_islws
    linkageType: ''
    returnType: void
    signature: void Tforeach(p, hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: Tforeach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - vct_istchar
    linkageType: ''
    returnType: void
    signature: void Tforeach(p, val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:268,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:269,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:271,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:273,1
    - Dst: VHD_Init
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:274,1
    - Dst: WS_ReserveSize
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:275,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:280,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - h2
    - ws
    argTypes:
    - struct h2_sess*
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 294
    functionName: h2h_decode_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - WS_ReserveSize
    - VHD_Init
    - WS_Reservation
    - XXXAN
    linkageType: ''
    returnType: void
    signature: void h2h_decode_init(const struct h2_sess *h2, struct ws *ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:300,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:301,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:302,1
    - Dst: h2h_decode_init
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h2
    argTypes:
    - struct h2_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: h2h_decode_hdr_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 1
    functionsReached:
    - h2h_decode_init
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2h_decode_hdr_init(const struct h2_sess *h2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:320,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:322,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:323,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:324,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:328,1
    - Dst: VHD_Error
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:329,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:332,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:336,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - h2
    argTypes:
    - struct h2_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 342
    functionName: h2h_decode_hdr_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 4
    functionsReached:
    - FINI_OBJ
    - CHECK_OBJ_NOTNULL
    - H2S_Lock_VSLb
    - VHD_Error
    - WS_ReleaseP
    - VSLb
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2h_decode_hdr_fini(const struct h2_sess *h2)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:360,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:361,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:363,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:365,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:366,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:367,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:368,1
    - Dst: WS_ReservationSize
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:369,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:375,1
    - Dst: H2_ERROR_MATCH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:375,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:378,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:379,1
    - Dst: VHD_Decode
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:380,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:384,1
    - Dst: VHD_Error
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:386,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:390,1
    - Dst: H2_ERROR_MATCH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:394,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:397,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:405,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:418,1
    - Dst: h2h_addhdr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:423,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:439,1
    - Dst: H2_ERROR_MATCH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:443,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:444,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:448,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:456,1
    - Dst: H2_ERROR_MATCH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c:460,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 3
    argNames:
    - h2
    - in
    - in_l
    argTypes:
    - struct h2_sess*
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (d->namelen == 0)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (d->out_u < d->out_l)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (d->out_u <= d->out_l)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (in_u == in_l)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (d->namelen > 0)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (d->out_l > 0)
      pos:
        line_end: 447
        line_start: 447
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    - condition: (H2_ERROR_MATCH(d->error, H2SE_ENHANCE_YOUR_CALM))
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    constantsTouched: []
    func_position:
      end: 467
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 467
    functionName: h2h_decode_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VHD_Decode
    - WS_ReservationSize
    - assert
    - H2S_Lock_VSLb
    - VHD_Error
    - h2h_addhdr
    - WRONG
    - H2_ERROR_MATCH
    - WS_Reservation
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2h_decode_bytes(struct h2_sess *h2, const uint8_t *in, size_t
      in_l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:47,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - r2
    - h2
    argTypes:
    - struct h2_req*
    - struct h2_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: h2_errcheck
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: h2_error
    signature: h2_error h2_errcheck(const struct h2_req *r2, const struct h2_sess
      *h2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:65,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:66,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:67,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:69,1
    - Dst: Lck_CondWaitTimeout
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:75,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:77,1
    - Dst: h2_stream_tmo
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:87,1
    - Dst: h2_stream_tmo
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:89,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cond
    - h2
    - r2
    argTypes:
    - pthread_cond_t*
    - struct h2_sess*
    - struct h2_req*
    assertStmts:
    - condition: (r == 0 || r == ETIMEDOUT)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    constantsTouched: []
    func_position:
      end: 97
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 97
    functionName: h2_cond_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - Lck_CondWaitTimeout
    - h2_stream_tmo
    - assert
    - Lck_AssertHeld
    linkageType: ''
    returnType: int
    signature: int h2_cond_wait(pthread_cond_t *cond, struct h2_sess *h2, struct h2_req
      *r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:103,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:104,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:105,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:107,1
    - Dst: ASSERT_RXTHR
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:109,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:110,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:110,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:111,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:113,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:114,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:115,1
    - Dst: Lck_CondWait
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 117
    functionName: h2_send_get_locked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ASSERT_RXTHR
    - AZ
    - Lck_AssertHeld
    - H2_SEND_HELD
    - Lck_CondWait
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void h2_send_get_locked(struct worker *wrk, struct h2_sess *h2, struct
      h2_req *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:123,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:124,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:125,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:127,1
    - Dst: h2_send_get_locked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:128,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - wrk
    - h2
    - r2
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: H2_Send_Get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 10
    functionsReached:
    - Lck_Unlock
    - h2_send_get_locked
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void H2_Send_Get(struct worker *wrk, struct h2_sess *h2, struct h2_req
      *r2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:135,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:136,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:138,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:139,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:139,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:140,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:141,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:143,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:144,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - h2
    - r2
    argTypes:
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: h2_send_rel_locked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - CHECK_OBJ_NOTNULL
    - PTOK
    - Lck_AssertHeld
    - H2_SEND_HELD
    - VTAILQ_REMOVE
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void h2_send_rel_locked(struct h2_sess *h2, const struct h2_req *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:151,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:152,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:154,1
    - Dst: h2_send_rel_locked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:155,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h2
    - r2
    argTypes:
    - struct h2_sess*
    - struct h2_req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: H2_Send_Rel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 10
    functionsReached:
    - Lck_Unlock
    - Lck_Lock
    - h2_send_rel_locked
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void H2_Send_Rel(struct h2_sess *h2, const struct h2_req *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:164,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:165,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:166,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - hdr
    - ftyp
    - flags
    - len
    - stream
    argTypes:
    - uint8_t*
    - h2_frame
    - uint8_t
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (len < (1U << 24))
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: h2_mk_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - assert
    - vbe32enc
    - AN
    linkageType: ''
    returnType: void
    signature: "void h2_mk_hdr(uint8_t *hdr, h2_frame ftyp, uint8_t flags,\n    uint32_t
      len, uint32_t stream)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:189,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:190,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:192,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:194,1
    - Dst: h2_mk_hdr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:196,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:197,1
    - Dst: VSLb_bin
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:198,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:202,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:204,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:207,1
    - Dst: writev
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:209,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:212,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:216,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:227,1
    - Dst: VSLb_bin
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:228,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 7
    argNames:
    - wrk
    - h2
    - ftyp
    - flags
    - len
    - stream
    - ptr
    argTypes:
    - struct worker*
    - struct h2_sess*
    - h2_frame
    - uint8_t
    - uint32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 231
    functionName: H2_Send_Frame
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 5
    functionsReached:
    - Lck_Unlock
    - AN
    - VSLb_bin
    - writev
    - memset
    - h2_mk_hdr
    - AZ
    - H2S_Lock_VSLb
    - TRUST_ME
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: "void H2_Send_Frame(struct worker *wrk, struct h2_sess *h2,\n    h2_frame
      ftyp, uint8_t flags,\n    uint32_t len, uint32_t stream, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:237,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:238,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:239,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r2
    - h2
    argTypes:
    - struct h2_req*
    - struct h2_sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: h2_win_limit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - Lck_AssertHeld
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int64_t
    signature: int64_t h2_win_limit(const struct h2_req *r2, const struct h2_sess
      *h2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:248,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:249,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:250,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - r2
    - h2
    - w
    argTypes:
    - struct h2_req*
    - struct h2_sess*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: h2_win_charge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - Lck_AssertHeld
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2_win_charge(struct h2_req *r2, const struct h2_sess *h2, uint32_t
      w)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:263,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:264,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:265,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:270,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:272,1
    - Dst: h2_send_rel_locked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:273,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:275,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:278,1
    - Dst: h2_cond_wait
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:280,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:284,1
    - Dst: h2_cond_wait
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:285,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:287,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:288,1
    - Dst: h2_win_limit
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:288,1
    - Dst: h2_win_charge
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:289,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:290,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:295,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:299,1
    - Dst: h2_send_get_locked
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:302,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:305,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:306,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:307,1
    - Dst: h2_win_limit
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:308,1
    - Dst: h2_win_charge
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:311,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:312,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:315,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - wrk
    - r2
    - h2
    - wanted
    argTypes:
    - struct worker*
    - struct h2_req*
    - struct h2_sess*
    - int64_t
    assertStmts:
    - condition: (h2->winup_streams > 0)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    - condition: (h2->winup_streams >= 0)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    - condition: (w > 0)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    - condition: (h2->req0->t_window > 0)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    - condition: (w > 0)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    - condition: (r2->t_window > 0)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    constantsTouched: []
    func_position:
      end: 317
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 317
    functionName: h2_do_window
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - h2_win_limit
    - h2_win_charge
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - h2_cond_wait
    - vmin_t
    - VSLb
    - assert
    - h2_send_get_locked
    - Lck_Lock
    - h2_errcheck
    - h2_send_rel_locked
    linkageType: ''
    returnType: int64_t
    signature: "int64_t h2_do_window(struct worker *wrk, struct h2_req *r2,\n    struct
      h2_sess *h2, int64_t wanted)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:333,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:334,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:337,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:338,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:340,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:340,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:342,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:345,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:346,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:348,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:350,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:352,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:359,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:363,1
    - Dst: h2_do_window
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:366,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:367,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:369,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:369,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:374,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:377,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:382,1
    - Dst: h2_do_window
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:386,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:388,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:390,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:390,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:393,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:397,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:399,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 7
    argNames:
    - wrk
    - r2
    - ftyp
    - flags
    - len
    - ptr
    - counter
    argTypes:
    - struct worker*
    - struct h2_req*
    - h2_frame
    - uint8_t
    - uint32_t
    - void*
    - uint64_t*
    assertStmts:
    - condition: (len == 0 || ptr != NULL)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    - condition: (tf == len)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    - condition: (h2->open_streams > 0)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    constantsTouched: []
    func_position:
      end: 411
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 411
    functionName: h2_send
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - Lck_Lock
    - H2_SEND_HELD
    - h2_errcheck
    - h2_do_window
    - H2_Send_Frame
    linkageType: ''
    returnType: void
    signature: "void h2_send(struct worker *wrk, struct h2_req *r2, h2_frame ftyp,
      uint8_t flags,\n    uint32_t len, const void *ptr, uint64_t *counter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:420,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:421,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:422,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:422,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:423,1
    - Dst: H2S_Lock_VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:425,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:426,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:428,1
    - Dst: h2_rapid_reset_check
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:430,1
    - Dst: h2_rapid_reset_charge
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - wrk
    - h2
    - r2
    - stream
    - h2e
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    - uint32_t
    - h2_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 434
    functionName: H2_Send_RST
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 3
    functionsReached:
    - vbe32enc
    - AN
    - CHECK_OBJ_NOTNULL
    - h2_rapid_reset_charge
    - H2S_Lock_VSLb
    - h2_rapid_reset_check
    - H2_SEND_HELD
    - H2_Send_Frame
    linkageType: ''
    returnType: void
    signature: "void H2_Send_RST(struct worker *wrk, struct h2_sess *h2, const struct
      h2_req *r2,\n    uint32_t stream, h2_error h2e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:442,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:443,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:444,1
    - Dst: H2_SEND_HELD
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:444,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:445,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:450,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:451,1
    - Dst: H2_Send_Frame
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - wrk
    - h2
    - r2
    - h2e
    argTypes:
    - struct worker*
    - struct h2_sess*
    - struct h2_req*
    - h2_error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 436
    functionDepth: 3
    functionLinenumber: 436
    functionLinenumberEnd: 454
    functionName: H2_Send_GOAWAY
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 2
    functionsReached:
    - vbe32enc
    - AN
    - CHECK_OBJ_NOTNULL
    - H2_SEND_HELD
    - H2_Send_Frame
    linkageType: ''
    returnType: void
    signature: "void H2_Send_GOAWAY(struct worker *wrk, struct h2_sess *h2, const
      struct h2_req *r2,\n    h2_error h2e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: h2_send
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:466,1
    - Dst: h2_errcheck
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:468,1
    - Dst: H2_ERROR_MATCH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:469,1
    - Dst: H2_Send_RST
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - wrk
    - r2
    - ftyp
    - flags
    - len
    - ptr
    - counter
    argTypes:
    - struct worker*
    - struct h2_req*
    - h2_frame
    - uint8_t
    - uint32_t
    - void*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: H2_Send
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
    functionUses: 0
    functionsReached:
    - h2_send
    - h2_errcheck
    - H2_Send_RST
    - H2_ERROR_MATCH
    linkageType: ''
    returnType: void
    signature: "void H2_Send(struct worker *wrk, struct h2_req *r2, h2_frame ftyp,
      uint8_t flags,\n    uint32_t len, const void *ptr, uint64_t *counter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - err
    - ','
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: H2_ERROR_MATCH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_ERROR_MATCH(err, target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - v
    - ','
    - g
    - ','
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: H2EC1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2EC1(U,v,g,r,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - v
    - ','
    - g
    - ','
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: H2EC2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2EC2(U,v,g,r,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - v
    - ','
    - g
    - ','
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: H2EC3
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2EC3(U,v,g,r,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - NAME
    - ','
    - val
    - ','
    - sc
    - ','
    - goaway
    - ','
    - reason
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: H2_ERROR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_ERROR(NAME, val, sc, goaway, reason, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: H2_FRAME
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_FRAME(l,U,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: H2_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING(U,l,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: H2_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING(U,...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: H2_FRAME_FLAGS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_FRAME_FLAGS(l,u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h2
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: ASSERT_RXTHR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_RXTHR(h2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h2
    - ','
    - r2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: H2_SEND_HELD
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SEND_HELD(h2, r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: V2D_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void V2D_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - I
    - ','
    - N
    - ','
    - V
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: HPS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HPS(I,N,V)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:80,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:82,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: h2_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void h2_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:93,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:94,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:95,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:102,1
    - Dst: H2_Send_RST
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:103,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:104,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:108,1
    - Dst: H2_Send
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:109,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 6
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: h2_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - H2_Send_RST
    - TAKE_OBJ_NOTNULL
    - H2_Send_Get
    - CHECK_OBJ_NOTNULL
    - H2_Send_Rel
    - H2_Send
    linkageType: ''
    returnType: void
    signature: void h2_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:120,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:121,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:128,1
    - Dst: H2_Send
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:130,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 6
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: h2_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - H2_Send_Rel
    - H2_Send_Get
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - H2_Send
    linkageType: ''
    returnType: void
    signature: "void h2_bytes(struct vdp_ctx *vdc, enum vdp_action act, void **priv,\n
      \   const void *ptr, ssize_t len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:159,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - p
    - status
    argTypes:
    - uint8_t*
    - uint16_t
    assertStmts:
    - condition: (l == 5)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    constantsTouched: []
    func_position:
      end: 165
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 165
    functionName: h2_status
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - assert
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: size_t h2_status(uint8_t *p, uint16_t status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:174,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:175,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:177,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:178,1
    - Dst: h2_status
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:180,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:181,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:183,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:184,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:185,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:186,1
    - Dst: http_Status2Reason
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:186,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:192,1
    - Dst: H2_Send
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:193,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - struct req*
    - uint16_t
    assertStmts:
    - condition: (status < 1000)
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    - condition: (status >= 100)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    - condition: (l < sizeof(buf))
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 6
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: h2_minimal_response
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - h2_status
    - CHECK_OBJ_NOTNULL
    - H2_Send_Get
    - H2_Send_Rel
    - CAST_OBJ_NOTNULL
    - assert
    - http_Status2Reason
    - VSLbs
    - H2_Send
    - TOSTRAND
    - VSLb
    linkageType: ''
    returnType: void
    signature: void h2_minimal_response(struct req *req, uint16_t status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:205,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:209,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:212,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - vsb
    - bits
    - val
    - b0
    argTypes:
    - struct vsb*
    - unsigned
    - unsigned
    - uint8_t
    assertStmts:
    - condition: (bits < 8)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: h2_enc_len
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - assert
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void h2_enc_len(struct vsb *vsb, unsigned bits, unsigned val, uint8_t
      b0)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:248,1
    - Dst: h2_status
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:249,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:250,1
    - Dst: VSB_error
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:253,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:254,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:255,1
    - Dst: http_IsFiltered
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:257,1
    - Dst: tolower
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:260,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:262,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:264,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:274,1
    - Dst: h2_enc_len
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:277,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:279,1
    - Dst: h2_enc_len
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:281,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:283,1
    - Dst: tolower
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:283,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:287,1
    - Dst: h2_enc_len
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:290,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:291,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - resp
    - req
    argTypes:
    - struct vsb*
    - struct req*
    assertStmts:
    - condition: (req->resp->status % 1000 >= 100)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    - condition: (sz > 0)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    constantsTouched: []
    func_position:
      end: 293
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 293
    functionName: h2_build_headers
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - tolower
    - h2_status
    - AN
    - vct_islws
    - VSB_putc
    - http_IsFiltered
    - assert
    - VSB_bcat
    - strchr
    - h2_enc_len
    - VSB_error
    - strncasecmp
    - VSLb
    linkageType: ''
    returnType: void
    signature: void h2_build_headers(struct vsb *resp, struct req *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:305,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:306,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:307,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:308,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:310,1
    - Dst: http_DoConnection
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:312,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:314,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:316,1
    - Dst: h2_build_headers
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:317,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:318,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:321,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:322,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:323,1
    - Dst: H2_Send_Get
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:333,1
    - Dst: H2_Send
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:334,1
    - Dst: H2_Send_Rel
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:337,1
    - Dst: WS_Reset
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:339,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:343,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:344,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:345,1
    - Dst: VDP_DeliverObj
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:346,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - req
    - sendbody
    argTypes:
    - struct req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 296
    functionDepth: 6
    functionLinenumber: 296
    functionLinenumberEnd: 351
    functionName: h2_deliver
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    functionUses: 0
    functionsReached:
    - VDP_Close
    - h2_build_headers
    - WS_Snapshot
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - H2_Send_Get
    - H2_Send_Rel
    - VCL_Req2Ctx
    - VDP_Push
    - VDP_DeliverObj
    - CAST_OBJ_NOTNULL
    - WS_Reset
    - http_DoConnection
    - WS_VSB_new
    - H2_Send
    - WS_VSB_finish
    - VSLb
    linkageType: ''
    returnType: void
    signature: void h2_deliver(struct req *req, int sendbody)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct h2_error_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: h2_panic_error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      h2_panic_error(const struct h2_error_s *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - vsb
    - s
    argTypes:
    - struct vsb*
    - struct h2_settings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: h2_panic_settings
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void h2_panic_settings(struct vsb *vsb, const struct h2_settings *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: H2_SETTING
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING(U,l,...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:73,1
    - Dst: SES_Get_proto_priv
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:73,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:75,1
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:77,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:79,1
    - Dst: h2_panic_error
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:80,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:81,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:85,1
    - Dst: h2_panic_settings
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:86,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:87,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:88,1
    - Dst: h2_panic_settings
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:89,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:90,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:91,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:95,1
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:96,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:98,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:103,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:106,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:108,1
    - Dst: h2_panic_error
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:109,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:110,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:112,1
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:115,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:116,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:117,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:121,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:122,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:125,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:126,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - vsb
    - sp
    argTypes:
    - struct vsb*
    - struct sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 129
    functionName: h2_sess_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - h2_panic_settings
    - SES_Get_proto_priv
    - PAN_dump_struct
    - AN
    - VSB_printf
    - AZ
    - VSB_cat
    - h2_panic_error
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void h2_sess_panic(struct vsb *vsb, const struct sess *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - sd
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: H2_STREAM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_STREAM(U,sd,d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:79,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:80,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:81,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:86,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:87,1
    - Dst: VJ_fix_fd
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:89,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:92,1
    - Dst: stat
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:96,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:97,1
    - Dst: S_ISDIR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:101,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:102,1
    - Dst: mkstemp
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:103,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:105,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:106,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:107,1
    - Dst: unlink
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:107,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:108,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:109,1
    - Dst: S_ISREG
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:111,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:112,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:114,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:115,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:119,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:122,1
    - Dst: fstat
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:122,1
    - Dst: S_ISREG
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:123,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:124,1
    - Dst: VJ_fix_fd
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:128,1
    - Dst: VJ_master
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - fn
    - fdp
    - fnp
    - ctx
    argTypes:
    - char*
    - int*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 131
    functionName: STV_GetFile
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c
    functionUses: 0
    functionsReached:
    - mkstemp
    - AN
    - stat
    - VAS_errtxt
    - bprintf
    - ARGV_ERR
    - unlink
    - strdup
    - AZ
    - VJ_master
    - S_ISDIR
    - open
    - VJ_fix_fd
    - S_ISREG
    - fstat
    linkageType: ''
    returnType: int
    signature: int STV_GetFile(const char *fn, int *fdp, const char **fnp, const char
      *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:153,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:155,1
    - Dst: fstat
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:155,1
    - Dst: xxxassert
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:156,1
    - Dst: S_ISREG
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:156,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:158,1
    - Dst: VFIL_fsinfo
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:158,1
    - Dst: vmax_t
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:160,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:169,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:172,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:173,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:176,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:179,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:183,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:200,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c:204,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 4
    argNames:
    - fd
    - size
    - granularity
    - ctx
    argTypes:
    - int
    - char*
    - unsigned*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 215
    functionName: STV_FileSize
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - VFIL_fsinfo
    - xxxassert
    - ARGV_ERR
    - AZ
    - VNUM_2bytes
    - vmax_t
    - S_ISREG
    - fstat
    linkageType: ''
    returnType: uintmax_t
    signature: uintmax_t STV_FileSize(int fd, const char *size, unsigned *granularity,
      const char *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:125,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:128,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:131,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:133,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:139,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:141,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:144,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:146,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:148,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:151,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:154,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:156,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:157,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:158,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:160,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:161,1
    - Dst: STV_GetFile
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:166,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:167,1
    - Dst: STV_FileSize
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:168,1
    - Dst: VFIL_allocate
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:169,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:170,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:170,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - parent
    - ac
    - av
    argTypes:
    - struct stevedore*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 171
    functionName: smf_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - getpagesize
    - VTAILQ_INIT
    - AN
    - VFIL_allocate
    - VAS_errtxt
    - STV_GetFile
    - strcmp
    - AZ
    - MCH_Fd_Inherit
    - STV_FileSize
    - VNUM_2bytes
    - ARGV_ERR
    - XXXAN
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void smf_init(struct stevedore *parent, int ac, char * const *av)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:183,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:184,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:185,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:195,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:196,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:198,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:203,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - sc
    - sp
    argTypes:
    - struct smf_sc*
    - struct smf*
    assertStmts:
    - condition: (sp->flist == NULL)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    - condition: (sp2->size >= ns)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    - condition: (sp2->flist == sp->flist)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    constantsTouched: []
    func_position:
      end: 206
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 206
    functionName: insfree
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - AZ
    - assert
    - Lck_AssertHeld
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    - VTAILQ_INSERT_BEFORE
    linkageType: ''
    returnType: void
    signature: void insfree(struct smf_sc *sc, struct smf *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:213,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:214,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:215,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:223,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - sp
    argTypes:
    - struct smf_sc*
    - struct smf*
    assertStmts:
    - condition: (sp->flist == &sc->free[b])
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    - condition: (sp->flist != NULL)
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    constantsTouched: []
    func_position:
      end: 226
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: remfree
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - assert
    - Lck_AssertHeld
    - VTAILQ_REMOVE
    - AZ
    linkageType: ''
    returnType: void
    signature: void remfree(const struct smf_sc *sc, struct smf *sp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:238,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:244,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:249,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:256,1
    - Dst: remfree
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:257,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:261,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:266,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:267,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:277,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:278,1
    - Dst: insfree
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - sc
    - bytes
    argTypes:
    - struct smf_sc*
    - off_t
    assertStmts:
    - condition: (sp->size >= bytes)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    constantsTouched: []
    func_position:
      end: 281
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 281
    functionName: alloc_smf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - VTAILQ_INSERT_BEFORE
    - remfree
    - malloc
    - AZ
    - assert
    - insfree
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    - XXXAN
    linkageType: ''
    returnType: struct smf
    signature: 'struct smf *

      alloc_smf(struct smf_sc *sc, off_t bytes)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:294,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:295,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:296,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:297,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:298,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:301,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:307,1
    - Dst: remfree
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:308,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:309,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:313,1
    - Dst: remfree
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:318,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:320,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:321,1
    - Dst: insfree
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - sp
    argTypes:
    - struct smf*
    assertStmts:
    - condition: (sp->size > 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    constantsTouched: []
    func_position:
      end: 327
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 327
    functionName: free_smf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - VTAILQ_NEXT
    - AN
    - remfree
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - insfree
    - VTAILQ_PREV
    - VTAILQ_REMOVE
    - free
    linkageType: ''
    returnType: void
    signature: void free_smf(struct smf *sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:338,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:339,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:340,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:350,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:352,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:357,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:359,1
    - Dst: free_smf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - sc
    - ptr
    - 'off'
    - len
    argTypes:
    - struct smf_sc*
    - unsigned char*
    - off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 362
    functionName: new_smf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - VTAILQ_INSERT_HEAD
    - free_smf
    - ALLOC_OBJ
    - AZ
    - VTAILQ_INSERT_BEFORE
    - VTAILQ_FOREACH
    - XXXAN
    linkageType: ''
    returnType: void
    signature: void new_smf(struct smf_sc *sc, unsigned char *ptr, off_t off, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:379,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:380,1
    - Dst: mmap
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:386,1
    - Dst: madvise
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:389,1
    - Dst: new_smf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:391,1
    - Dst: smf_open_chunk
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:402,1
    - Dst: smf_open_chunk
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - sc
    - sz
    - 'off'
    - fail
    - sum
    argTypes:
    - struct smf_sc*
    - off_t
    - off_t
    - off_t*
    - off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 404
    functionName: smf_open_chunk
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 1
    functionsReached:
    - AN
    - smf_open_chunk
    - madvise
    - AZ
    - new_smf
    - mmap
    linkageType: ''
    returnType: void
    signature: void smf_open_chunk(struct smf_sc *sc, off_t sz, off_t off, off_t *fail,
      off_t *sum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:413,1
    - Dst: LRU_Alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:414,1
    - Dst: Lck_CreateClass
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:416,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:417,1
    - Dst: VSC_smf_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:418,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:419,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:420,1
    - Dst: smf_open_chunk
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:421,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:422,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:423,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:424,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:427,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:430,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:434,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 407
    functionDepth: 5
    functionLinenumber: 407
    functionLinenumberEnd: 438
    functionName: smf_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - getpagesize
    - Lck_Unlock
    - smf_open_chunk
    - exit
    - ASSERT_CLI
    - CAST_OBJ_NOTNULL
    - Lck_CreateClass
    - Lck_Lock
    - LRU_Alloc
    - VSC_smf_New
    - ARGV_ERR
    - printf
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void smf_open(struct stevedore *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:449,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:450,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:455,1
    - Dst: alloc_smf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:457,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:460,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:463,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:468,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:469,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:470,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - st
    - sz
    argTypes:
    - struct stevedore*
    - size_t
    assertStmts:
    - condition: (sz > 0)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    - condition: (smf->size == size)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    constantsTouched: []
    func_position:
      end: 477
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 477
    functionName: smf_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - alloc_smf
    - XXXAN
    linkageType: ''
    returnType: void
    signature: void smf_alloc(const struct stevedore *st, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:487,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:488,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:490,1
    - Dst: free_smf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:495,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_file.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 497
    functionName: smf_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - free_smf
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void smf_free(struct storage *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:63,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:64,1
    - Dst: struct stevedore*::sml_alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:70,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:76,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:80,1
    - Dst: struct stevedore*::sml_alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:81,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - stv
    - size
    - flags
    argTypes:
    - struct stevedore*
    - ssize_t
    - int
    assertStmts:
    - condition: (size > 0)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (size <= UINT_MAX)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 92
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 92
    functionName: sml_stv_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - struct stevedore*::sml_alloc
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: struct storage
    signature: 'struct storage *

      sml_stv_alloc(const struct stevedore *stv, ssize_t size, int flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:98,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:99,1
    - Dst: struct stevedore*::sml_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stv
    - st
    argTypes:
    - struct stevedore*
    - struct storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: sml_stv_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - struct stevedore*::sml_free
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sml_stv_free(const struct stevedore *stv, struct storage *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:117,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:118,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:119,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:121,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:121,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:124,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - stv
    - oc
    - ptr
    argTypes:
    - struct stevedore*
    - struct objcore*
    - void*
    assertStmts:
    - condition: (PAOK(ptr))
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: SML_MkObject
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - PAOK
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - assert
    linkageType: ''
    returnType: struct object
    signature: 'struct object *

      SML_MkObject(const struct stevedore *stv, struct objcore *oc, void *ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:147,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:148,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:149,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:151,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:153,1
    - Dst: struct stevedore*::sml_alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:156,1
    - Dst: struct stevedore*::sml_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:158,1
    - Dst: LRU_NukeOne
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:161,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:165,1
    - Dst: SML_MkObject
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:166,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - wrk
    - stv
    - oc
    - wsl
    argTypes:
    - struct worker*
    - struct stevedore*
    - struct objcore*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 171
    functionName: SML_allocobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - PRNDUP
    - SML_MkObject
    - struct stevedore*::sml_free
    - struct stevedore*::sml_alloc
    - LRU_NukeOne
    linkageType: ''
    returnType: void
    signature: "void SML_allocobj(struct worker *wrk, const struct stevedore *stv,\n
      \   struct objcore *oc, unsigned wsl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:179,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:180,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:181,1
    - Dst: objallocwithnuke
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:185,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - wrk
    - stv
    - size
    - ppriv
    argTypes:
    - struct worker*
    - struct stevedore*
    - size_t
    - uintptr_t*
    assertStmts:
    - condition: (st->space >= size)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 193
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 193
    functionName: SML_AllocBuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - assert
    - objallocwithnuke
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void SML_AllocBuf(struct worker *wrk, const struct stevedore *stv,
      size_t size,\n    uintptr_t *ppriv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:200,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:201,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:203,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:204,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - wrk
    - stv
    - priv
    argTypes:
    - struct worker*
    - struct stevedore*
    - uintptr_t
    assertStmts:
    - condition: (st->flags == STORAGE_F_BUFFER)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: SML_FreeBuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - assert
    - sml_stv_free
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void SML_FreeBuf(struct worker *wrk, const struct stevedore *stv, uintptr_t
      priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:217,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:218,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:220,1
    - Dst: struct stevedore*::sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:222,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: sml_getobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 1
    functionsReached:
    - struct stevedore*::sml_getobj
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: struct object
    signature: 'struct object *

      sml_getobj(struct worker *wrk, struct objcore *oc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:236,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:239,1
    - Dst: sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:240,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:241,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:252,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:253,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:254,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 257
    functionName: sml_slim
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - sml_getobj
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - sml_stv_free
    linkageType: ''
    returnType: void
    signature: void sml_slim(struct worker *wrk, struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: OBJ_AUXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_AUXATTR(U, l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:264,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:265,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:272,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - stv
    - boc
    argTypes:
    - struct stevedore*
    - struct boc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: sml_bocfini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - sml_stv_free
    linkageType: ''
    returnType: void
    signature: void sml_bocfini(const struct stevedore *stv, struct boc *boc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:288,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:289,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:291,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:292,1
    - Dst: sml_slim
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:294,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:296,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:297,1
    - Dst: sml_bocfini
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:300,1
    - Dst: LRU_Remove
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:302,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:304,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 309
    functionName: sml_objfree
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - FINI_OBJ
    - sml_slim
    - LRU_Remove
    - CHECK_OBJ_NOTNULL
    - memset
    - sml_bocfini
    - CAST_OBJ_NOTNULL
    - sml_stv_free
    linkageType: ''
    returnType: void
    signature: void sml_objfree(struct worker *wrk, struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:336,1
    - Dst: ptr2lease
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:338,1
    - Dst: VAI_ASSERT_LEASE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - viov
    - st
    argTypes:
    - struct viov*
    - struct storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 340
    functionName: sml_ai_viov_fill
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - VAI_ASSERT_LEASE
    - TRUST_ME
    - ptr2lease
    linkageType: ''
    returnType: void
    signature: void sml_ai_viov_fill(struct viov *viov, struct storage *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:356,1
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:357,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:358,1
    - Dst: struct sml_hdl*::qe::cb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: sml_ai_later_task
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - struct sml_hdl*::qe::cb
    - VTIM_sleep
    - memset
    - CAST_VAI_HDL_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sml_ai_later_task(struct worker *wrk, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:364,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:365,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:368,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wrk
    - hdl
    argTypes:
    - struct worker*
    - struct sml_hdl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: sml_ai_later
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - Pool_Task
    - AZ
    linkageType: ''
    returnType: void
    signature: void sml_ai_later(struct worker *wrk, struct sml_hdl *hdl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:382,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:384,1
    - Dst: VSCARAB_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:386,1
    - Dst: objallocwithnuke
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:391,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:394,1
    - Dst: sml_ai_viov_fill
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:398,1
    - Dst: sml_ai_later
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scarab
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts:
    - condition: (st->space >= vio->iov.iov_len)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 406
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 406
    functionName: sml_ai_buffer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - sml_ai_viov_fill
    - CHECK_OBJ_NOTNULL
    - objallocwithnuke
    - VSCARAB_FOREACH
    - CAST_VAI_HDL_NOTNULL
    - assert
    - sml_ai_later
    linkageType: ''
    returnType: int
    signature: int sml_ai_buffer(struct worker *wrk, vai_hdl vhdl, struct vscarab
      *scarab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: objallocwithnuke
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:391,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:394,1
    - Dst: sml_ai_viov_fill
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (st->space >= vio->iov.iov_len)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 2
    functionsReached:
    - assert
    - objallocwithnuke
    - sml_ai_viov_fill
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH(vio, scarab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:417,1
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:418,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:420,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:422,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:423,1
    - Dst: sml_ai_viov_fill
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:424,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scarab
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 432
    functionName: sml_ai_lease_simple
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - sml_ai_viov_fill
    - VSCARAB_GET
    - CAST_VAI_HDL_NOTNULL
    - AZ
    - VTAILQ_PREV
    - VSCARAB_CHECK_NOTNULL
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: int sml_ai_lease_simple(struct worker *wrk, vai_hdl vhdl, struct vscarab
      *scarab)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:455,1
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:456,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:457,1
    - Dst: ObjVAIGetExtend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:460,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:462,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:477,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:479,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:481,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:483,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:484,1
    - Dst: ptr2lease
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:486,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:492,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:494,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:496,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:497,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:498,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:499,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:502,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:505,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:508,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:509,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:515,1
    - Dst: ptr2lease
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:516,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:520,1
    - Dst: VAI_ASSERT_LEASE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:531,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:535,1
    - Dst: ObjVAIGetExtend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:537,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scarab
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts:
    - condition: (hdl->avail == hdl->returned)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (state >= BOS_STREAM)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (hdl->boc == hdl->oc->boc)
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (hdl->boc == hdl->oc->boc)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (state < BOS_FINISHED)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (hdl->st_off <= hdl->st->space)
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 543
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 543
    functionName: sml_ai_lease_boc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - VAI_ASSERT_LEASE
    - CHECK_OBJ_NOTNULL
    - VSCARAB_GET
    - VTAILQ_LAST
    - CAST_VAI_HDL_NOTNULL
    - AZ
    - assert
    - TRUST_ME
    - Lck_Lock
    - ObjVAIGetExtend
    - ptr2lease
    - VTAILQ_PREV
    - VSCARAB_CHECK_NOTNULL
    - CHECK_OBJ
    - VSLb
    linkageType: ''
    returnType: int
    signature: int sml_ai_lease_boc(struct worker *wrk, vai_hdl vhdl, struct vscarab
      *scarab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:554,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:559,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:559,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:562,1
    - Dst: VSCARET_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scaret
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscaret*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 565
    functionName: sml_ai_return_buffers
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - CAST_VAI_HDL_NOTNULL
    - CAST_OBJ_NOTNULL
    - lease2ptr
    - VSCARET_INIT
    - sml_stv_free
    linkageType: ''
    returnType: void
    signature: void sml_ai_return_buffers(struct worker *wrk, vai_hdl vhdl, struct
      vscaret *scaret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:559,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:559,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: VSCARET_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - lease2ptr
    - sml_stv_free
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSCARET_FOREACH(p, scaret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:576,1
    - Dst: VSCARET_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:577,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:582,1
    - Dst: VSCARET_LOCAL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:585,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:589,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:589,1
    - Dst: VSCARET_ADD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:590,1
    - Dst: VSCARET_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:592,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:594,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:596,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:596,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:599,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:603,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:606,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:606,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:609,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scaret
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscaret*
    assertStmts:
    - condition: (hdl->boc != NULL && (hdl->oc->flags & OC_F_TRANSIENT) != 0)
      pos:
        line_end: 581
        line_start: 581
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 613
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 613
    functionName: sml_ai_return
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CAST_VAI_HDL_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - lease2ptr
    - VSCARET_ADD
    - Lck_Lock
    - VSCARET_CHECK_NOTNULL
    - VSCARET_LOCAL
    - VTAILQ_REMOVE
    - VSCARET_INIT
    - VSLb
    - sml_stv_free
    linkageType: ''
    returnType: void
    signature: void sml_ai_return(struct worker *wrk, vai_hdl vhdl, struct vscaret
      *scaret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:589,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:589,1
    - Dst: VSCARET_ADD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 591
    functionName: VSCARET_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - lease2ptr
    - VSCARET_ADD
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSCARET_FOREACH(p, scaret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:596,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:596,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: VSCARET_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - lease2ptr
    - VTAILQ_REMOVE
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSCARET_FOREACH(p, todo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:606,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:606,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:609,1
    - Dst: sml_stv_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: VSCARET_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - lease2ptr
    - sml_stv_free
    - VSLb
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSCARET_FOREACH(p, todo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:622,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:623,1
    - Dst: struct sml_hdl*::qe::cb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wrk
    - vhdl
    argTypes:
    - struct worker*
    - vai_hdl
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 625
    functionName: sml_ai_notify
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - struct sml_hdl*::qe::cb
    - CHECK_OBJ
    - CAST_VAI_HDL_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sml_ai_notify(struct worker *wrk, vai_hdl vhdl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:632,1
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:633,1
    - Dst: ObjVAICancel
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:637,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:638,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:643,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wrk
    - vai_hdlp
    argTypes:
    - struct worker*
    - vai_hdl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 646
    functionName: sml_ai_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - HSH_DerefBoc
    - AN
    - WS_Release
    - CAST_VAI_HDL_NOTNULL
    - ObjVAICancel
    - free
    linkageType: ''
    returnType: void
    signature: void sml_ai_fini(struct worker *wrk, vai_hdl *vai_hdlp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WS_ReserveSize
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:655,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:656,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:658,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:662,1
    - Dst: INIT_VAI_HDL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:663,1
    - Dst: sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:672,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:673,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:675,1
    - Dst: HSH_RefBoc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:683,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:685,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 5
    argNames:
    - wrk
    - oc
    - ws
    - notify
    - notify_priv
    argTypes:
    - struct worker*
    - struct objcore*
    - struct ws*
    - vai_notify_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 696
    functionName: sml_ai_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - CHECK_OBJ_NOTNULL
    - HSH_RefBoc
    - VTAILQ_LAST
    - WS_ReserveSize
    - INIT_VAI_HDL
    - sml_getobj
    - WS_Reservation
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: "void sml_ai_init(struct worker *wrk, struct objcore *oc, struct ws
      *ws,\n    vai_notify_cb *notify, void *notify_priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:713,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:714,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:714,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:715,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sn
    argTypes:
    - struct sml_notify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: sml_notify_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - pthread_mutex_init
    - INIT_OBJ
    - AZ
    linkageType: ''
    returnType: void
    signature: void sml_notify_init(struct sml_notify *sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:722,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:723,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:723,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:724,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sn
    argTypes:
    - struct sml_notify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 725
    functionName: sml_notify_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - pthread_cond_destroy
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void sml_notify_fini(struct sml_notify *sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:733,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:734,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:734,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:736,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:736,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:737,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - hdl
    - priv
    argTypes:
    - vai_hdl
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 739
    functionName: sml_notify
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - AZ
    - pthread_mutex_lock
    - CAST_OBJ_NOTNULL
    - pthread_mutex_unlock
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void sml_notify(vai_hdl hdl, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:745,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:746,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:746,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:748,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:748,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:749,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:751,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sn
    argTypes:
    - struct sml_notify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 752
    functionName: sml_notify_wait
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - pthread_mutex_lock
    - pthread_cond_wait
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void sml_notify_wait(struct sml_notify *sn)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: VSCARAB_LOCAL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:764,1
    - Dst: VSCARET_LOCAL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:765,1
    - Dst: sml_notify_init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:768,1
    - Dst: ObjVAIinit
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:769,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:770,1
    - Dst: ObjVAIlease
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:776,1
    - Dst: VSCARAB_LAST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:786,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:789,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:804,1
    - Dst: VSCARET_ADD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:809,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:813,1
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:819,1
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:825,1
    - Dst: VSCARET_ADD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:826,1
    - Dst: VSCARAB_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:830,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:834,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:841,1
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:843,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:847,1
    - Dst: sml_notify_wait
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:848,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:855,1
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:861,1
    - Dst: ObjVAIfini
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:863,1
    - Dst: sml_notify_fini
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:864,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 5
    argNames:
    - wrk
    - oc
    - priv
    - func
    - final
    argTypes:
    - struct worker*
    - struct objcore*
    - void*
    - objiterate_f*
    - int
    assertStmts:
    - condition: (scaret->used <= 1)
      pos:
        line_end: 846
        line_start: 846
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 867
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 867
    functionName: SML_iterator
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - ObjVAIlease
    - AN
    - sml_notify_fini
    - VSCARAB_LAST
    - VSCARAB_INIT
    - VSCARAB_LOCAL
    - sml_notify_wait
    - sml_notify_init
    - AZ
    - VSCARET_ADD
    - func
    - assert
    - VSCARET_LOCAL
    - ObjVAIfini
    - ObjVAIinit
    - ObjVAIreturn
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void SML_iterator(struct worker *wrk, struct objcore *oc,\n    void
      *priv, objiterate_f *func, int final)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:789,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:804,1
    - Dst: VSCARET_ADD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:809,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:813,1
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:819,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 820
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 2
    functionsReached:
    - AZ
    - VSCARET_ADD
    - func
    - ObjVAIreturn
    - VSLb
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH(vio, scarab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:825,1
    - Dst: VSCARET_ADD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 827
    functionName: VSCARAB_FOREACH_RESUME
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - VSCARET_ADD
    - ObjVAIreturn
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH_RESUME(vio, scarab)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:878,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:879,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:887,1
    - Dst: sml_stv_alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:891,1
    - Dst: LRU_NukeOne
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:898,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:900,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - wrk
    - stv
    - size
    - flags
    argTypes:
    - struct worker*
    - struct stevedore*
    - ssize_t
    - int
    assertStmts:
    - condition: (size <= UINT_MAX)
      pos:
        line_end: 886
        line_start: 886
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 902
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 902
    functionName: objallocwithnuke
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 3
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - sml_stv_alloc
    - assert
    - CHECK_OBJ_ORNULL
    - LRU_NukeOne
    linkageType: ''
    returnType: struct storage
    signature: "struct storage *\nobjallocwithnuke(struct worker *wrk, const struct
      stevedore *stv, ssize_t size,\n    int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:911,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:912,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:913,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:914,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:915,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:918,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:920,1
    - Dst: sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:922,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:923,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:924,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:926,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:930,1
    - Dst: objallocwithnuke
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:934,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:939,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:940,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:941,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:942,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - wrk
    - oc
    - sz
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t*
    - uint8_t**
    assertStmts:
    - condition: (*sz > 0)
      pos:
        line_end: 917
        line_start: 917
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (*sz > 0)
      pos:
        line_end: 944
        line_start: 944
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (*sz > 0)
      pos:
        line_end: 929
        line_start: 929
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 948
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 948
    functionName: sml_getspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - Lck_Unlock
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - objallocwithnuke
    - vmin_t
    - assert
    - Lck_Lock
    - sml_getobj
    linkageType: ''
    returnType: void
    signature: "void sml_getspace(struct worker *wrk, struct objcore *oc, ssize_t
      *sz,\n    uint8_t **ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:956,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:957,1
    - Dst: sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:959,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:960,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:961,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:962,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - wrk
    - oc
    - l
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 956
        line_start: 956
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - condition: (st->len + l <= st->space)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 965
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 965
    functionName: sml_extend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - assert
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - sml_getobj
    linkageType: ''
    returnType: void
    signature: void sml_extend(struct worker *wrk, struct objcore *oc, ssize_t l)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:974,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:975,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:976,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:979,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:982,1
    - Dst: sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:988,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:989,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:990,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:996,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:997,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:998,1
    - Dst: sml_stv_alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1007,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1010,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1012,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1014,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1015,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1016,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts:
    - condition: (st1->space >= st->len)
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    constantsTouched: []
    func_position:
      end: 1020
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 1020
    functionName: sml_trimstore
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - Lck_Unlock
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - memcpy
    - sml_stv_alloc
    - assert
    - WRONG
    - Lck_Lock
    - sml_getobj
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void sml_trimstore(struct worker *wrk, struct objcore *oc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1027,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1028,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1029,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1031,1
    - Dst: sml_bocfini
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1033,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1036,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1037,1
    - Dst: LRU_Add
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - wrk
    - oc
    - boc
    argTypes:
    - struct worker*
    - struct objcore*
    - struct boc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1040
    functionName: sml_bocdone
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - LRU_Add
    - sml_bocfini
    - isnan
    linkageType: ''
    returnType: void
    signature: void sml_bocdone(struct worker *wrk, struct objcore *oc, struct boc
      *boc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1049,1
    - Dst: sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1053,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1054,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - wrk
    - oc
    - attr
    - len
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1087
    functionName: sml_getattr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - WRONG
    - CHECK_OBJ_NOTNULL
    - sml_getobj
    linkageType: ''
    returnType: void
    signature: "void sml_getattr(struct worker *wrk, struct objcore *oc, enum obj_attr
      attr,\n   ssize_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: OBJ_FIXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_FIXATTR(U, l, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    functionName: OBJ_VARATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_VARATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1081
    functionName: OBJ_AUXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_AUXATTR(U, l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1097,1
    - Dst: sml_getobj
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1099,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1100,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1153,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - wrk
    - oc
    - attr
    - len
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - ssize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1160
    functionName: sml_setattr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - memcpy
    - WRONG
    - CHECK_OBJ_NOTNULL
    - sml_getobj
    linkageType: ''
    returnType: void
    signature: "void sml_setattr(struct worker *wrk, struct objcore *oc, enum obj_attr
      attr,\n    ssize_t len, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1110
    functionName: OBJ_FIXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_FIXATTR(U, l, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1128
    functionName: OBJ_VARATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_VARATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1150
    functionName: OBJ_AUXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_AUXATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsb
    - hd
    - st
    argTypes:
    - struct vsb*
    - char*
    - struct storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1181
    functionName: sml_panic_st
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void sml_panic_st(struct vsb *vsb, const char *hd, const struct storage
      *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1189,1
    - Dst: PAN_CheckMagic
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1193,1
    - Dst: sml_panic_st
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1194,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1212,1
    - Dst: sml_panic_st
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - vsb
    - oc
    argTypes:
    - struct vsb*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1183
    functionDepth: 1
    functionLinenumber: 1183
    functionLinenumberEnd: 1215
    functionName: SML_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached:
    - PAN_CheckMagic
    - VSB_printf
    - VTAILQ_FOREACH
    - sml_panic_st
    linkageType: ''
    returnType: void
    signature: void SML_panic(struct vsb *vsb, const struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1200
    functionName: OBJ_FIXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_FIXATTR(U, l, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1204
    functionName: OBJ_VARATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_VARATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1209
    functionName: OBJ_AUXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_AUXATTR(U, l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:75,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:76,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:78,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:79,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:80,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct stevedore**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: STV__iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - VTAILQ_EMPTY
    - VTAILQ_NEXT
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: int
    signature: int STV__iter(struct stevedore ** const pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:93,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:96,1
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:97,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: stv_cli_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Foreach
    - VCLI_Out
    - ASSERT_MGT
    linkageType: ''
    returnType: void
    signature: void stv_cli_list(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:108,1
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:109,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:110,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:112,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:114,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:115,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:116,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:117,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:118,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:119,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:120,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:121,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:122,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 125
    functionName: stv_cli_list_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VCLI_Out
    - VCLI_JSON_end
    - VCLI_JSON_str
    - VCLI_JSON_begin
    - ASSERT_MGT
    linkageType: ''
    returnType: void
    signature: void stv_cli_list_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:112,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:114,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:115,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:116,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:117,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:118,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:119,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:120,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:121,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: STV_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 2
    functionsReached:
    - VSB_indent
    - VCLI_Out
    - VCLI_JSON_str
    linkageType: ''
    returnType: void
    signature: void STV_Foreach(stv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - parent
    - ac
    - av
    argTypes:
    - struct stevedore*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: smp_fake_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 0
    functionsReached:
    - ARGV_ERR
    linkageType: ''
    returnType: void
    signature: void smp_fake_init(struct stevedore *parent, int ac, char * const *av)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:171,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:173,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cstv
    - altname
    argTypes:
    - struct stevedore*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: STV_Register
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void STV_Register(const struct stevedore *cstv, const char *altname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:185,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:186,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:187,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:188,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:190,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:191,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:194,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:195,1
    - Dst: STV_Register
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: STV_Register_The_Usual_Suspects
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Register
    linkageType: ''
    returnType: void
    signature: void STV_Register_The_Usual_Suspects(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MGT_NamedArg
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:214,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:215,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:218,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:221,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:224,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:225,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:228,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:229,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:230,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:233,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:234,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - spec
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 239
    functionName: STV_Config
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 1
    functionsReached:
    - AN
    - bprintf
    - VSB_printf
    - strdup
    - MGT_NamedArg
    - strcmp
    - ARGV_ERR
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void STV_Config(const char *spec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_MGT
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:248,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:250,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:252,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:254,1
    - Dst: STV_Config
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:259,1
    - Dst: STV_Config
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 262
    functionName: STV_Config_Final
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 1
    functionsReached:
    - VCLS_AddFunc
    - ASSERT_MGT
    - STV_Config
    - strcmp
    linkageType: ''
    returnType: void
    signature: void STV_Config_Final(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:252,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: STV_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void STV_Foreach(stv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STV_Register_The_Usual_Suspects
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:277,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:278,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:279,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:280,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:281,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:282,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:284,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:290,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:291,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:294,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:296,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:298,1
    - Dst: struct stevedore*::init
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:306,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:308,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:310,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:311,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:313,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:314,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:316,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:317,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:320,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:323,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:324,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:325,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 327
    functionName: STV_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - VTAILQ_REMOVE
    - strcmp
    - struct stevedore*::init
    - AZ
    - ARGV_ERR
    - STV_Register_The_Usual_Suspects
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void STV_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: SSY_ST_SIZE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSY_ST_SIZE(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:82,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:84,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: ssy_objfree
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - memset
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ssy_objfree(struct worker *wrk, struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSY_ST_SIZE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:94,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:96,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:97,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:100,1
    - Dst: VSCARAB_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:101,1
    - Dst: VSTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ssy
    argTypes:
    - struct ssy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: ssy_st_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - VSCARAB_INIT
    - CHECK_OBJ_NOTNULL
    - INIT_OBJ
    - WS_Alloc
    - VSTAILQ_INSERT_TAIL
    - SSY_ST_SIZE
    linkageType: ''
    returnType: struct ssy_st
    signature: 'struct ssy_st *

      ssy_st_alloc(struct ssy *ssy)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:118,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:119,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:120,1
    - Dst: VSTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:123,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:124,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:125,1
    - Dst: ssy_st_alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - wrk
    - oc
    - sz
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: ssy_getspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - ssy_st_alloc
    - VSTAILQ_LAST
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void ssy_getspace(struct worker *wrk, struct objcore *oc, ssize_t
      *sz,\n    uint8_t **ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:159,1
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:160,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:167,1
    - Dst: VSCARAB_CHECK
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:168,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:169,1
    - Dst: VSCARAB_FOREACH_RESUME
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:172,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:173,1
    - Dst: VSTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - dst
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 190
    functionName: ssy_ai_lease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - AN
    - VSCARAB_FOREACH_RESUME
    - VSTAILQ_NEXT
    - VSCARAB_CHECK
    - VSCARAB_GET
    - CAST_VAI_HDL_NOTNULL
    - VSCARAB_CHECK_NOTNULL
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: int ssy_ai_lease(struct worker *wrk, vai_hdl vhdl, struct vscarab *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:202,1
    - Dst: VSCARAB_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:204,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:209,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:210,1
    - Dst: ptr2lease
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scarab
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: ssy_ai_buffer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - VSCARAB_FOREACH
    - CAST_VAI_HDL_NOTNULL
    - ptr2lease
    linkageType: ''
    returnType: int
    signature: int ssy_ai_buffer(struct worker *wrk, vai_hdl vhdl, struct vscarab
      *scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:209,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:210,1
    - Dst: ptr2lease
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 3
    functionsReached:
    - AN
    - ptr2lease
    - malloc
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH(vio, scarab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:226,1
    - Dst: VSCARET_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:227,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:230,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scaret
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscaret*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 232
    functionName: ssy_ai_return
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - lease2ptr
    - free
    - VSCARET_CHECK_NOTNULL
    - CAST_VAI_HDL_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ssy_ai_return(struct worker *wrk, vai_hdl vhdl, struct vscaret
      *scaret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:230,1
    - Dst: lease2ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: VSCARET_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - lease2ptr
    - free
    linkageType: ''
    returnType: void
    signature: void VSCARET_FOREACH(p, scaret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:240,1
    - Dst: CAST_VAI_HDL_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wrk
    - vai_hdlp
    argTypes:
    - struct worker*
    - vai_hdl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: ssy_ai_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - AN
    - CAST_VAI_HDL_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ssy_ai_fini(struct worker *wrk, vai_hdl *vai_hdlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - wrk
    - oc
    - attr
    - len
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - ssize_t
    - void*
    assertStmts:
    - condition: (attr == OA_LEN)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    constantsTouched: []
    func_position:
      end: 257
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 257
    functionName: ssy_setattr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: "void ssy_setattr(struct worker *wrk, struct objcore *oc, enum obj_attr
      attr,\n    ssize_t len, const void *ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:270,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:273,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:280,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:281,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:282,1
    - Dst: VSTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:285,1
    - Dst: VSCARAB_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:286,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - wrk
    - oc
    - attr
    - len
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - ssize_t*
    assertStmts:
    - condition: (attr == OA_LEN)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: ssy_getattr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - VSTAILQ_FOREACH
    - AN
    - CHECK_OBJ_NOTNULL
    - vbe64enc
    - VSCARAB_FOREACH
    - CAST_OBJ_NOTNULL
    - assert
    - AZ
    linkageType: ''
    returnType: void
    signature: "void ssy_getattr(struct worker *wrk, struct objcore *oc, enum obj_attr
      attr,\n   ssize_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:304,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:305,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:311,1
    - Dst: INIT_VAI_HDL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:315,1
    - Dst: VSTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:316,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:317,1
    - Dst: VSCARAB_CHECK
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:318,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - wrk
    - oc
    - ws
    - notify
    - notify_priv
    argTypes:
    - struct worker*
    - struct objcore*
    - struct ws*
    - vai_notify_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 327
    functionName: ssy_ai_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSTAILQ_FIRST
    - WS_Alloc
    - VSCARAB_CHECK
    - CAST_OBJ_NOTNULL
    - INIT_VAI_HDL
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: "void ssy_ai_init(struct worker *wrk, struct objcore *oc, struct ws
      *ws,\n    vai_notify_cb *notify, void *notify_priv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:350,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:351,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:352,1
    - Dst: THR_GetRequest
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:354,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:359,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:363,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:366,1
    - Dst: VSTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:368,1
    - Dst: ssy_st_alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:369,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - wrk
    - stv
    - oc
    - wsl
    argTypes:
    - struct worker*
    - struct stevedore*
    - struct objcore*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 381
    functionName: ssy_allocobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VSTAILQ_INIT
    - ssy_st_alloc
    - WS_Alloc
    - THR_GetRequest
    - CHECK_OBJ
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void ssy_allocobj(struct worker *wrk, const struct stevedore *stv,\n
      \   struct objcore *oc, unsigned wsl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:389,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:392,1
    - Dst: VSC_ssy_Destroy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:396,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - st
    - warn
    argTypes:
    - struct stevedore*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 399
    functionName: ssy_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - VSC_ssy_Destroy
    - AN
    - ASSERT_CLI
    - AZ
    linkageType: ''
    returnType: void
    signature: void ssy_close(const struct stevedore *st, int warn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:406,1
    - Dst: VSC_ssy_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:410,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: ssy_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    functionUses: 0
    functionsReached:
    - AN
    - ASSERT_CLI
    - VSC_ssy_New
    linkageType: ''
    returnType: void
    signature: void ssy_open(struct stevedore *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - smu
    - sc
    argTypes:
    - struct smu*
    - struct smu_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: smu_smu_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    linkageType: ''
    returnType: void
    signature: void smu_smu_init(struct smu *smu, struct smu_sc *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:124,1
    - Dst: smu_smu_init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - callback_data
    - flags
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: smu_smu_constructor
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - smu_smu_init
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void smu_smu_constructor(void *buffer, void *callback_data, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:135,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:136,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:138,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - callback_data
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (smu->sc == sc)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    - condition: (smu->s.priv == smu)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: smu_smu_destructor
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void smu_smu_destructor(void *buffer, void *callback_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:151,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:152,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:165,1
    - Dst: umem_allocf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:177,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:179,1
    - Dst: umem_cache_allocf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:180,1
    - Dst: umem_freef
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:184,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:187,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:199,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:205,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:206,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 2
    argNames:
    - st
    - size
    argTypes:
    - struct stevedore*
    - size_t
    assertStmts:
    - condition: (smu->sc == smu_sc)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    - condition: (smu->s.priv == smu)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    constantsTouched: []
    func_position:
      end: 210
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 210
    functionName: smu_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CAST_OBJ_NOTNULL
    - assert
    - AZ
    - umem_allocf
    - Lck_Lock
    - umem_cache_allocf
    - umem_freef
    linkageType: ''
    returnType: void
    signature: void smu_alloc(const struct stevedore *st, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:218,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:219,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:220,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:222,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:229,1
    - Dst: umem_freef
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:231,1
    - Dst: smu_smu_init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:232,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:233,1
    - Dst: umem_cache_freef
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 235
    functionName: smu_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - umem_cache_freef
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - Lck_Lock
    - umem_freef
    - smu_smu_init
    linkageType: ''
    returnType: void
    signature: void smu_free(struct storage *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: smu_used_space
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void smu_used_space(const struct stevedore *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: smu_free_space
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void smu_free_space(const struct stevedore *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:264,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:266,1
    - Dst: strstr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:267,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: smu_umem_loaded_warn
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strstr
    - getenv
    linkageType: ''
    returnType: void
    signature: void smu_umem_loaded_warn(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:278,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:280,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:280,1
    - Dst: dlsym
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 289
    functionName: smu_umem_loaded
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - dlopen
    - dlclose
    - dlsym
    - AZ
    linkageType: ''
    returnType: int
    signature: int smu_umem_loaded(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:299,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:300,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:302,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:305,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:307,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:310,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:312,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:314,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:316,1
    - Dst: smu_umem_loaded
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:324,1
    - Dst: smu_umem_loaded_warn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:325,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:327,1
    - Dst: setenv
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:327,1
    - Dst: dlerror
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:330,1
    - Dst: dlmopen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:331,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:333,1
    - Dst: dlerror
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:333,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:345,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:346,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:347,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:348,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:349,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:350,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:354,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - parent
    - ac
    - av
    argTypes:
    - struct stevedore*
    - int
    - char**
    assertStmts:
    - condition: (sc->smu_max == VRT_INTEGER_MAX)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    constantsTouched: []
    func_position:
      end: 356
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 356
    functionName: smu_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 2
    functionsReached:
    - AN
    - setenv
    - DLSYM_UMEM
    - dlerror
    - AZ
    - assert
    - smu_umem_loaded_warn
    - dlmopen
    - VNUM_2bytes
    - ARGV_ERR
    - dlclose
    - ALLOC_OBJ
    - smu_umem_loaded
    linkageType: ''
    returnType: void
    signature: void smu_init(struct stevedore *parent, int ac, char * const *av)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fptr
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: DLSYM_UMEM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLSYM_UMEM(fptr,sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:367,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:368,1
    - Dst: smu_umem_loaded
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:372,1
    - Dst: smu_umem_loaded_warn
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:373,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:375,1
    - Dst: getenv
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:375,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:377,1
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:378,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:379,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:387,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:388,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:389,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:390,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:391,1
    - Dst: DLSYM_UMEM
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 395
    functionName: smu_open_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - AN
    - DLSYM_UMEM
    - dlopen
    - AZ
    - smu_umem_loaded_warn
    - getenv
    - smu_umem_loaded
    linkageType: ''
    returnType: void
    signature: void smu_open_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fptr
    - ','
    - sym
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 386
    functionName: DLSYM_UMEM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DLSYM_UMEM(fptr,sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:401,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:403,1
    - Dst: LRU_Alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:404,1
    - Dst: Lck_CreateClass
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:406,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:407,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:408,1
    - Dst: VSC_smu_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:409,1
    - Dst: smu_open_init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:413,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:415,1
    - Dst: umem_cache_createf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:416,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 427
    functionName: smu_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - AN
    - umem_cache_createf
    - VSC_smu_New
    - smu_open_init
    - bstrcpy
    - ASSERT_CLI
    - CAST_OBJ_NOTNULL
    - Lck_CreateClass
    - LRU_Alloc
    - strlen
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void smu_open(struct stevedore *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:434,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:436,1
    - Dst: umem_cache_destroyf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - st
    - warn
    argTypes:
    - struct stevedore*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 451
    functionName: smu_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    functionUses: 0
    functionsReached:
    - umem_cache_destroyf
    - ASSERT_CLI
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void smu_close(const struct stevedore *st, int warn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:75,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:76,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:89,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:101,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:103,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:107,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:110,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 2
    argNames:
    - st
    - size
    argTypes:
    - struct stevedore*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 132
    functionName: sma_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - malloc
    - CAST_OBJ_NOTNULL
    - Lck_Lock
    - ALLOC_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void sma_alloc(const struct stevedore *st, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:140,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:141,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:143,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:144,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:151,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:152,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct storage*
    assertStmts:
    - condition: (sma->sz == sma->s.space)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: sma_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - CAST_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - free
    linkageType: ''
    returnType: void
    signature: void sma_free(struct storage *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: sma_used_space
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sma_used_space(const struct stevedore *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: sma_free_space
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sma_free_space(const struct stevedore *st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:181,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:182,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:184,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:187,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:189,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:194,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:196,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:198,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - parent
    - ac
    - av
    argTypes:
    - struct stevedore*
    - int
    - char**
    assertStmts:
    - condition: (sc->sma_max == VRT_INTEGER_MAX)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    constantsTouched: []
    func_position:
      end: 205
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 205
    functionName: sma_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - assert
    - VNUM_2bytes
    - ARGV_ERR
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void sma_init(struct stevedore *parent, int ac, char * const *av)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:212,1
    - Dst: LRU_Alloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:213,1
    - Dst: Lck_CreateClass
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:215,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:216,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:217,1
    - Dst: VSC_sma_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: sma_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    functionUses: 0
    functionsReached:
    - ASSERT_CLI
    - CAST_OBJ_NOTNULL
    - Lck_CreateClass
    - LRU_Alloc
    - VSC_sma_New
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void sma_open(struct stevedore *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:61,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:61,1
    - Dst: STV__iter
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:62,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:63,1
    - Dst: STV__iter
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:63,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:66,1
    - Dst: STV__iter
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:66,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:69,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:69,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: STV_next
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - AN
    - pthread_mutex_lock
    - PTOK
    - STV__iter
    - pthread_mutex_unlock
    linkageType: ''
    returnType: struct stevedore
    signature: 'struct stevedore *

      STV_next(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:84,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:85,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:86,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:89,1
    - Dst: struct stevedore*::allocobj
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:90,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:91,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - wrk
    - oc
    - stv
    - wsl
    argTypes:
    - struct worker*
    - struct objcore*
    - struct stevedore*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: STV_NewObject
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - struct stevedore*::allocobj
    - AN
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: int
    signature: "int STV_NewObject(struct worker *wrk, struct objcore *oc,\n    const
      struct stevedore *stv, unsigned wsl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:120,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:121,1
    - Dst: struct stevedore*::allocbuf
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:129,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:129,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:133,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:133,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - wrk
    - stv
    - size
    argTypes:
    - struct worker*
    - struct stevedore*
    - size_t
    assertStmts:
    - condition: (PAOK(buf))
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    constantsTouched: []
    func_position:
      end: 141
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 141
    functionName: STV_AllocBuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 1
    functionsReached:
    - PAOK
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - struct stevedore*::allocbuf
    - assert
    - PRNDUP
    linkageType: ''
    returnType: struct stv_buffer
    signature: 'struct stv_buffer *

      STV_AllocBuf(struct worker *wrk, const struct stevedore *stv, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:150,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:151,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:152,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:156,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:157,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:159,1
    - Dst: struct stevedore*::freebuf
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - wrk
    - pstvbuf
    argTypes:
    - struct worker*
    - struct stv_buffer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: STV_FreeBuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 2
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - AN
    - struct stevedore*::freebuf
    - CHECK_OBJ_NOTNULL
    - ZERO_OBJ
    linkageType: ''
    returnType: void
    signature: void STV_FreeBuf(struct worker *wrk, struct stv_buffer **pstvbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stvbuf
    - psize
    argTypes:
    - struct stv_buffer*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: STV_GetBufPtr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      STV_GetBufPtr(struct stv_buffer *stvbuf, size_t *psize)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:180,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:181,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:181,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:185,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:189,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:190,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:192,1
    - Dst: struct stevedore*::open
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:194,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:195,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 199
    functionName: STV_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - bprintf
    - strdup
    - ASSERT_CLI
    - strcmp
    - PTOK
    - struct stevedore*::open
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void STV_open(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:189,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:190,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:192,1
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:194,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: STV_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - bprintf
    - strdup
    - strcmp
    - open
    linkageType: ''
    returnType: void
    signature: void STV_Foreach(stv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:206,1
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:207,1
    - Dst: struct stevedore*::close
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: STV_warn
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Foreach
    - struct stevedore*::close
    - ASSERT_CLI
    linkageType: ''
    returnType: void
    signature: void STV_warn(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:217,1
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:218,1
    - Dst: struct stevedore*::close
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: STV_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Foreach
    - struct stevedore*::close
    - ASSERT_CLI
    linkageType: ''
    returnType: void
    signature: void STV_close(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:235,1
    - Dst: struct stevedore*::baninfo
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ban
    - len
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: STV_BanInfoDrop
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Foreach
    - struct stevedore*::baninfo
    linkageType: ''
    returnType: int
    signature: int STV_BanInfoDrop(const uint8_t *ban, unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:248,1
    - Dst: struct stevedore*::baninfo
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ban
    - len
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: STV_BanInfoNew
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Foreach
    - struct stevedore*::baninfo
    linkageType: ''
    returnType: int
    signature: int STV_BanInfoNew(const uint8_t *ban, unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:266,1
    - Dst: struct stevedore*::banexport
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bans
    - len
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: STV_BanExport
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Foreach
    - struct stevedore*::banexport
    linkageType: ''
    returnType: void
    signature: void STV_BanExport(const uint8_t *bans, unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STV_Foreach
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:280,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: stv_find
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - STV_Foreach
    - strcmp
    linkageType: ''
    returnType: struct stevedore
    signature: 'struct stevedore *

      stv_find(const char *nm)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STEVEDORE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: VRT_STEVEDORE_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_STEVEDORE_string(VCL_STEVEDORE s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stv_find
      Src: /src/vinyl-cache/bin/vinyld/storage/stevedore.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: VRT_stevedore
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached:
    - stv_find
    linkageType: ''
    returnType: VCL_STEVEDORE
    signature: VCL_STEVEDORE VRT_stevedore(const char *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - vtype
    - ','
    - ctype
    - ','
    - dval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: VRTSTVVAR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRTSTVVAR(nm, vtype, ctype, dval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIGNSPACE_FREE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:86,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:89,1
    - Dst: SIGNSPACE_FRONT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:89,1
    - Dst: smp_append_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - sc
    - spc
    - len
    - ban
    argTypes:
    - struct smp_sc*
    - struct smp_signspace*
    - uint32_t
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: smp_appendban
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - smp_append_signspace
    - SIGNSPACE_FRONT
    - SIGNSPACE_FREE
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int smp_appendban(const struct smp_sc *sc, struct smp_signspace *spc,\n
      \   uint32_t len, const uint8_t *ban)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:104,1
    - Dst: smp_appendban
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:108,1
    - Dst: smp_appendban
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - stv
    - event
    - ban
    - len
    argTypes:
    - struct stevedore*
    - enum baninfo
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: smp_baninfo
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - smp_appendban
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: "int smp_baninfo(const struct stevedore *stv, enum baninfo event,\n\t
      \   const uint8_t *ban, unsigned len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_reset_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:122,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:123,1
    - Dst: SIGNSPACE_FREE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:123,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:124,1
    - Dst: SIGNSPACE_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:124,1
    - Dst: smp_append_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:125,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - spc
    - bans
    - len
    argTypes:
    - struct smp_signspace*
    - uint8_t*
    - unsigned
    assertStmts:
    - condition: (SIGNSPACE_FREE(spc) >= len)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: smp_banexport_spc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - smp_append_signspace
    - smp_sync_sign
    - memcpy
    - SIGNSPACE_DATA
    - assert
    - SIGNSPACE_FREE
    - smp_reset_signspace
    linkageType: ''
    returnType: void
    signature: void smp_banexport_spc(struct smp_signspace *spc, const uint8_t *bans,
      unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:134,1
    - Dst: smp_banexport_spc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:135,1
    - Dst: smp_banexport_spc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stv
    - bans
    - len
    argTypes:
    - struct stevedore*
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 137
    functionName: smp_banexport
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - smp_banexport_spc
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void smp_banexport(const struct stevedore *stv, const uint8_t *bans,
      unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:149,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:151,1
    - Dst: SIGNSPACE_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:155,1
    - Dst: SIGNSPACE_FRONT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:156,1
    - Dst: BAN_Reload
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - sc
    - spc
    argTypes:
    - struct smp_sc*
    - struct smp_signspace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: smp_open_bans
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - SIGNSPACE_DATA
    - SIGNSPACE_FRONT
    - ASSERT_CLI
    - smp_chk_signspace
    - BAN_Reload
    linkageType: ''
    returnType: int
    signature: int smp_open_bans(const struct smp_sc *sc, struct smp_signspace *spc)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:174,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:175,1
    - Dst: SIGNSPACE_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:179,1
    - Dst: SIGNSPACE_LEN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:180,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:189,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:235,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:241,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:242,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:243,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:254,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:256,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:256,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:258,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:258,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:261,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:263,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:265,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:265,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:272,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:277,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 2
    argNames:
    - sc
    - spc
    argTypes:
    - struct smp_sc*
    - struct smp_signspace*
    assertStmts:
    - condition: (smp_segend(sg) <= sg2->p.offset)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (smp_segend(sg) <= sg1->p.offset)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (ss <= se)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (sg1->p.offset != sg->p.offset)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (smp_segend(sg1) <= sg->p.offset)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (l >= sc->free_reserve)
      pos:
        line_end: 234
        line_start: 234
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (sg2->p.offset != sg->p.offset)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (smp_segend(sg2) <= sg->p.offset)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    constantsTouched: []
    func_position:
      end: 279
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 279
    functionName: smp_open_segs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - SIGNSPACE_LEN
    - SIGNSPACE_DATA
    - ASSERT_CLI
    - smp_segend
    - assert
    - VTAILQ_INSERT_TAIL
    - printf
    - smp_chk_signspace
    - ALLOC_OBJ
    linkageType: ''
    returnType: int
    signature: int smp_open_segs(struct smp_sc *sc, struct smp_signspace *spc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:291,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:292,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:293,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:296,1
    - Dst: smp_load_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:298,1
    - Dst: BAN_Release
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:301,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:302,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:305,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:307,1
    - Dst: smp_save_segs
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:309,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:311,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:312,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:313,1
    - Dst: smp_save_segs
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:316,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:318,1
    - Dst: pthread_exit
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:319,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:321,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 322
    functionName: smp_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - VTAILQ_FIRST
    - Lck_Unlock
    - return
    - CHECK_OBJ_NOTNULL
    - smp_save_segs
    - smp_load_seg
    - NEEDLESS
    - CAST_OBJ_NOTNULL
    - Lck_Lock
    - pthread_exit
    - printf
    - VTIM_sleep
    - VTAILQ_FOREACH
    - BAN_Release
    linkageType: ''
    returnType: void
    signature: void smp_thread(struct worker *wrk, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:333,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:335,1
    - Dst: smp_init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:336,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:338,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:340,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:341,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:346,1
    - Dst: smp_valid_silo
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:346,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:348,1
    - Dst: mprotect
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:348,1
    - Dst: SIGN_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:350,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:353,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:355,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:355,1
    - Dst: smp_copy_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:356,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:357,1
    - Dst: smp_copy_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:360,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:361,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:363,1
    - Dst: smp_open_bans
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:363,1
    - Dst: smp_open_segs
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:366,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:367,1
    - Dst: smp_open_segs
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:367,1
    - Dst: BAN_Hold
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:374,1
    - Dst: ObjSubscribeEvents
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:380,1
    - Dst: smp_new_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:384,1
    - Dst: WRK_BgThread
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:387,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:389,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 391
    functionName: smp_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - smp_copy_signspace
    - ASSERT_CLI
    - VTAILQ_INSERT_TAIL
    - smp_valid_silo
    - smp_init
    - smp_chk_signspace
    - Lck_New
    - VTAILQ_EMPTY
    - CAST_OBJ_NOTNULL
    - Lck_Lock
    - smp_new_seg
    - smp_sync_sign
    - smp_open_segs
    - AZ
    - ObjSubscribeEvents
    - BAN_Hold
    - Lck_Unlock
    - smp_open_bans
    - WRK_BgThread
    - mprotect
    - SIGN_DATA
    linkageType: ''
    returnType: void
    signature: void smp_open(struct stevedore *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:403,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:405,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:407,1
    - Dst: smp_close_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:409,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:410,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:412,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:414,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:414,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - st
    - warn
    argTypes:
    - struct stevedore*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 417
    functionName: smp_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - ASSERT_CLI
    - AZ
    - CAST_OBJ_NOTNULL
    - PTOK
    - Lck_Lock
    - pthread_join
    - smp_close_seg
    linkageType: ''
    returnType: void
    signature: void smp_close(const struct stevedore *st, int warn)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:440,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:441,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:443,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:444,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:446,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:449,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:452,1
    - Dst: smp_spaceleft
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:458,1
    - Dst: smp_close_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:461,1
    - Dst: smp_new_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:462,1
    - Dst: smp_spaceleft
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:464,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:470,1
    - Dst: IRNDN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:472,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:476,1
    - Dst: EXP_ZERO
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:482,1
    - Dst: smp_spaceleft
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:488,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:490,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:494,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:495,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:498,1
    - Dst: PRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 6
    argNames:
    - st
    - min_size
    - max_size
    - so
    - idx
    - ssg
    argTypes:
    - struct stevedore*
    - size_t
    - size_t
    - struct smp_object**
    - unsigned*
    - struct smp_seg**
    assertStmts:
    - condition: (max_size >= min_size)
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (min_size <= max_size)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    constantsTouched: []
    func_position:
      end: 505
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 505
    functionName: smp_allocx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - smp_spaceleft
    - Lck_Unlock
    - AN
    - INIT_OBJ
    - IRNDN
    - CAST_OBJ_NOTNULL
    - assert
    - EXP_ZERO
    - PRNUP
    - Lck_Lock
    - IRNUP
    - smp_new_seg
    - smp_close_seg
    linkageType: ''
    returnType: struct storage
    signature: "struct storage *\nsmp_allocx(const struct stevedore *st, size_t min_size,
      size_t max_size,\n    struct smp_object **so, unsigned *idx, struct smp_seg
      **ssg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:523,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:524,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:525,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:535,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:536,1
    - Dst: smp_allocx
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:544,1
    - Dst: struct stevedore*::sml_free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:546,1
    - Dst: LRU_NukeOne
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:549,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:553,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:554,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:555,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:556,1
    - Dst: SML_MkObject
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:558,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:559,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:560,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:561,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:565,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:570,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:571,1
    - Dst: EXP_COPY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:572,1
    - Dst: BAN_Time
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:574,1
    - Dst: smp_init_oc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:576,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:578,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 4
    argNames:
    - wrk
    - stv
    - oc
    - wsl
    argTypes:
    - struct worker*
    - struct stevedore*
    - struct objcore*
    - unsigned
    assertStmts:
    - condition: (st->space >= ltot)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (sizeof so->hash == DIGEST_LEN)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    - condition: (oc->stobj->stevedore == stv)
      pos:
        line_end: 559
        line_start: 559
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    constantsTouched: []
    func_position:
      end: 581
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 581
    functionName: smp_allocobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - BAN_Time
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - memcpy
    - smp_init_oc
    - SML_MkObject
    - smp_allocx
    - CAST_OBJ_NOTNULL
    - assert
    - struct stevedore*::sml_free
    - EXP_COPY
    - Lck_Lock
    - IRNUP
    - PRNDUP
    - VTAILQ_INSERT_TAIL
    - LRU_NukeOne
    linkageType: ''
    returnType: void
    signature: "void smp_allocobj(struct worker *wrk, const struct stevedore *stv,\n
      \   struct objcore *oc, unsigned wsl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_allocx
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - size
    argTypes:
    - struct stevedore*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 2
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: smp_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - smp_allocx
    linkageType: ''
    returnType: void
    signature: void smp_alloc(const struct stevedore *st, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:623,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:625,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:626,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:629,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cli
    - sc
    argTypes:
    - struct cli*
    - struct smp_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 637
    functionName: debug_report_silo
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - VCLI_Out
    linkageType: ''
    returnType: void
    signature: void debug_report_silo(struct cli *cli, const struct smp_sc *sc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:647,1
    - Dst: debug_report_silo
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:648,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:651,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:652,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:655,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:656,1
    - Dst: debug_report_silo
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:660,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:663,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:664,1
    - Dst: smp_close_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:666,1
    - Dst: smp_new_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:667,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:668,1
    - Dst: debug_report_silo
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:669,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:671,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:672,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:674,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 675
    functionName: debug_persistent
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - VCLI_SetResult
    - VCLI_Out
    - strcmp
    - Lck_Lock
    - debug_report_silo
    - smp_new_seg
    - VTAILQ_FOREACH
    - smp_close_seg
    linkageType: ''
    returnType: void
    signature: void debug_persistent(struct cli *cli, const char * const * av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_CreateClass
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:688,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 700
    functionName: smp_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 1
    functionsReached:
    - CLI_AddFuncs
    - Lck_CreateClass
    linkageType: ''
    returnType: void
    signature: void smp_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:711,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:713,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 719
    functionName: SMP_Ready
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
    functionUses: 0
    functionsReached:
    - sleep
    - VTAILQ_FOREACH
    - ASSERT_CLI
    linkageType: ''
    returnType: void
    signature: void SMP_Ready(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:91,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:93,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:101,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:102,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:106,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:109,1
    - Dst: exp
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:122,1
    - Dst: log
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:122,1
    - Dst: log
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:122,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:123,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:125,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct smp_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 134
    functionName: smp_metrics
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
    functionUses: 0
    functionsReached:
    - fprintf
    - smp_stuff_len
    - exp
    - log
    linkageType: ''
    returnType: void
    signature: void smp_metrics(struct smp_sc *sc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:147,1
    - Dst: personality
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:150,1
    - Dst: personality
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:152,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:154,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:156,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:161,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:172,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:175,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:176,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:179,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:183,1
    - Dst: STV_GetFile
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:185,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:187,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:190,1
    - Dst: STV_FileSize
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:191,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:194,1
    - Dst: ftruncate
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:194,1
    - Dst: mmap
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:205,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:209,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:210,1
    - Dst: smp_def_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:212,1
    - Dst: SIGN_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:213,1
    - Dst: smp_valid_silo
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:215,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:217,1
    - Dst: smp_newsilo
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:219,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:221,1
    - Dst: smp_valid_silo
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:221,1
    - Dst: smp_metrics
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:223,1
    - Dst: MCH_Fd_Inherit
      Src: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 3
    argNames:
    - parent
    - ac
    - av
    argTypes:
    - struct stevedore*
    - int
    - char**
    assertStmts:
    - condition: (sizeof(struct smp_object) % 8 == 0)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
    - condition: (sizeof(struct smp_ident) == SMP_IDENT_SIZE)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
    constantsTouched: []
    func_position:
      end: 229
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 229
    functionName: smp_mgt_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
    functionUses: 0
    functionsReached:
    - VAS_errtxt
    - smp_newsilo
    - ftruncate
    - mmap
    - smp_valid_silo
    - XXXAN
    - smp_metrics
    - fprintf
    - STV_FileSize
    - ARGV_ERR
    - printf
    - VTAILQ_INIT
    - STV_GetFile
    - AZ
    - assert
    - smp_def_sign
    - MCH_Fd_Inherit
    - personality
    - getpagesize
    - SIGN_DATA
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void smp_mgt_init(struct stevedore *parent, int ac, char * const *av)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: SIZOF
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZOF(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:52,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:53,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: lru_get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct lru
    signature: 'struct lru *

      lru_get(const struct objcore *oc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:63,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:64,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:65,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: LRU_Alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    functionUses: 3
    functionsReached:
    - VTAILQ_INIT
    - AN
    - ALLOC_OBJ
    - Lck_New
    linkageType: ''
    returnType: struct lru
    signature: 'struct lru *

      LRU_Alloc(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:75,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:76,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:77,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:77,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:78,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:79,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct lru**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: LRU_Free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - AN
    - VTAILQ_EMPTY
    - Lck_Delete
    - FREE_OBJ
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void LRU_Free(struct lru **pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:88,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:93,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:94,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:94,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:95,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:95,1
    - Dst: lru_get
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:96,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:97,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:98,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:99,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:101,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:101,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - oc
    - now
    argTypes:
    - struct objcore*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: LRU_Add
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - lru_get
    - AZ
    - isnan
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void LRU_Add(struct objcore *oc, vtim_real now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:110,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:115,1
    - Dst: lru_get
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:116,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:117,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:118,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:119,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:119,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:120,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: LRU_Remove
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - lru_get
    - AZ
    - isnan
    - Lck_Lock
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void LRU_Remove(struct objcore *oc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:130,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:131,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:133,1
    - Dst: lru_get
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:146,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:147,1
    - Dst: Lck_Trylock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:149,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:152,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:153,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:154,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - wrk
    - oc
    - now
    argTypes:
    - struct worker*
    - struct objcore*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 159
    functionName: LRU_Touch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - lru_get
    - Lck_Trylock
    - isnan
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void LRU_Touch(struct worker *wrk, struct objcore *oc, vtim_real now)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:172,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:173,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:176,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:182,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:183,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:184,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:185,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:186,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:186,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:188,1
    - Dst: HSH_Snipe
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:191,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:193,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:194,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:198,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:201,1
    - Dst: ObjSlim
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:206,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:208,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:208,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:208,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - wrk
    - lru
    argTypes:
    - struct worker*
    - struct lru*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 211
    functionName: LRU_NukeOne
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    functionUses: 3
    functionsReached:
    - HSH_Snipe
    - Lck_Unlock
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - ObjSlim
    - ObjGetXID
    - HSH_DerefObjCore
    - AZ
    - isnan
    - Lck_Lock
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - VXID
    - VSLb
    linkageType: ''
    returnType: int
    signature: int LRU_NukeOne(struct worker *wrk, struct lru *lru)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:79,1
    - Dst: smp_reset_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:80,1
    - Dst: SIGNSPACE_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:81,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:83,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:84,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:85,1
    - Dst: smp_append_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:90,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - sc
    - spc
    argTypes:
    - struct smp_sc*
    - struct smp_signspace*
    assertStmts:
    - condition: (sg->p.offset < sc->mediasize)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (sg->p.offset + sg->p.length <= sc->mediasize)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: smp_save_seg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 0
    functionsReached:
    - smp_append_signspace
    - smp_sync_sign
    - SIGNSPACE_DATA
    - assert
    - Lck_AssertHeld
    - smp_reset_signspace
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void smp_save_seg(const struct smp_sc *sc, struct smp_signspace *spc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:99,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:100,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:106,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:107,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:113,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:114,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:114,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:115,1
    - Dst: smp_save_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:117,1
    - Dst: smp_save_seg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct smp_sc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: smp_save_segs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 1
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - smp_save_seg
    - Lck_AssertHeld
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: void
    signature: void smp_save_segs(struct smp_sc *sc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:143,1
    - Dst: ASSERT_SILO_THREAD
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:146,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:147,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:148,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:149,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:151,1
    - Dst: smp_def_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:154,1
    - Dst: smp_chk_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:155,1
    - Dst: EXP_WHEN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:166,1
    - Dst: BAN_FindBan
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:168,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:169,1
    - Dst: ObjNew
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:170,1
    - Dst: smp_init_oc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:172,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:173,1
    - Dst: EXP_COPY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:175,1
    - Dst: HSH_Insert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:178,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:179,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:180,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:181,1
    - Dst: Pool_Sumstat
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - wrk
    - sc
    - sg
    argTypes:
    - struct worker*
    - struct smp_sc*
    - struct smp_seg*
    assertStmts:
    - condition: (sg->flags & SMP_SEG_MUSTLOAD)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    constantsTouched: []
    func_position:
      end: 186
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 186
    functionName: smp_load_seg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 1
    functionsReached:
    - HSH_DerefBoc
    - AN
    - smp_chk_sign
    - CHECK_OBJ_NOTNULL
    - Pool_Sumstat
    - VTIM_real
    - smp_init_oc
    - HSH_Insert
    - EXP_WHEN
    - EXP_COPY
    - assert
    - smp_def_sign
    - ObjNew
    - BAN_FindBan
    - VTAILQ_INSERT_TAIL
    - ASSERT_SILO_THREAD
    - HSH_DerefObjCore
    linkageType: ''
    returnType: void
    signature: "void smp_load_seg(struct worker *wrk, const struct smp_sc *sc,\n    struct
      smp_seg *sg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:198,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:199,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:203,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:207,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:208,1
    - Dst: RDN2
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:211,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:213,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:217,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:217,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:219,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:221,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:225,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:225,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:229,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:231,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:235,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:237,1
    - Dst: IRNDN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:239,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:240,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:246,1
    - Dst: smp_def_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:247,1
    - Dst: smp_reset_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:248,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:249,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:253,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:254,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:255,1
    - Dst: IASSERTALIGN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:256,1
    - Dst: IASSERTALIGN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct smp_sc*
    assertStmts:
    - condition: (smp_segend(&tmpsg) <= sc->mediasize)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (smp_segend(&tmpsg) <= sg->p.offset)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (tmpsg.p.offset < sc->mediasize)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (sg->p.offset + sg->p.length <= tmpsg.p.offset + tmpsg.p.length)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (tmpsg.p.offset >= sc->ident->stuff[SMP_SPC_STUFF])
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    constantsTouched: []
    func_position:
      end: 259
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 259
    functionName: smp_new_seg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 3
    functionsReached:
    - RDN2
    - VTAILQ_FIRST
    - VTAILQ_INIT
    - AN
    - INIT_OBJ
    - smp_sync_sign
    - IRNDN
    - IASSERTALIGN
    - smp_segend
    - AZ
    - assert
    - smp_def_sign
    - smp_reset_sign
    - Lck_AssertHeld
    - IRNUP
    - VTAILQ_INSERT_TAIL
    - printf
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void smp_new_seg(struct smp_sc *sc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:271,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:272,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:274,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:275,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:276,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:281,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:282,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:283,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:285,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:285,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:286,1
    - Dst: smp_spaceleft
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:295,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:298,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:300,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:301,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:305,1
    - Dst: smp_spaceleft
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:306,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:314,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:315,1
    - Dst: smp_def_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:316,1
    - Dst: smp_reset_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:317,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:318,1
    - Dst: smp_def_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:321,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:322,1
    - Dst: smp_reset_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:323,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:324,1
    - Dst: smp_save_segs
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:327,1
    - Dst: smp_segend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 2
    argNames:
    - sc
    - sg
    argTypes:
    - struct smp_sc*
    - struct smp_seg*
    assertStmts:
    - condition: (sg->p.offset >= sc->ident->stuff[SMP_SPC_STUFF])
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: ((uintptr_t)dp + len < (uintptr_t)sg->objs)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (sg == sc->cur_seg)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (sg->p.offset < sc->mediasize)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (sc->next_top >= sc->next_bot)
      pos:
        line_end: 314
        line_start: 314
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    constantsTouched: []
    func_position:
      end: 329
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 329
    functionName: smp_close_seg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 3
    functionsReached:
    - smp_spaceleft
    - smp_sync_sign
    - AN
    - CHECK_OBJ_NOTNULL
    - memcpy
    - VTAILQ_EMPTY
    - FREE_OBJ
    - smp_save_segs
    - smp_segend
    - assert
    - smp_def_sign
    - smp_reset_sign
    - Lck_AssertHeld
    - IRNUP
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void smp_close_seg(struct smp_sc *sc, struct smp_seg *sg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:341,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sg
    - priv2
    argTypes:
    - struct smp_seg*
    - unsigned
    assertStmts:
    - condition: (priv2 > 0)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (priv2 <= sg->p.lobjlist)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: smp_find_so
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: struct smp_object
    signature: 'struct smp_object *

      smp_find_so(const struct smp_seg *sg, unsigned priv2)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - sg
    - st
    argTypes:
    - struct smp_sc*
    - struct smp_seg*
    - struct storage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 393
    functionName: smp_loaded_st
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: "int smp_loaded_st(const struct smp_sc *sc, const struct smp_seg *sg,\n
      \   const struct storage *st)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sg
    - st
    - ptr
    argTypes:
    - struct smp_seg*
    - struct storage*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: fix_ptr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fix_ptr(const struct smp_seg *sg, const struct storage *st, void
      **ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:423,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:424,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:425,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:427,1
    - Dst: smp_find_so
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:428,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:448,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:451,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:452,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:453,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:454,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:455,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:460,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:461,1
    - Dst: fix_ptr
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:462,1
    - Dst: ASSERT_PTR_IN_SILO
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:473,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:474,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:483,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:490,1
    - Dst: smp_loaded_st
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:491,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:496,1
    - Dst: EXP_ZERO
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:500,1
    - Dst: EXP_ZERO
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:501,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 511
    functionName: smp_sml_getobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - vbe64dec
    - fix_ptr
    - ASSERT_PTR_IN_SILO
    - CAST_OBJ_NOTNULL
    - smp_find_so
    - EXP_ZERO
    - Lck_Lock
    - VTAILQ_FOREACH
    - smp_loaded_st
    linkageType: ''
    returnType: void
    signature: void smp_sml_getobj(struct worker *wrk, struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:519,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:520,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:522,1
    - Dst: smp_find_so
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:523,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:525,1
    - Dst: EXP_ZERO
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:526,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:529,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:534,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:538,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:540,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts:
    - condition: (sg->nobj > 0)
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    - condition: (sg->nfixed > 0)
      pos:
        line_end: 533
        line_start: 533
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    constantsTouched: []
    func_position:
      end: 542
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 542
    functionName: smp_oc_objfree
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - memset
    - CAST_OBJ_NOTNULL
    - assert
    - EXP_ZERO
    - smp_find_so
    - Lck_Lock
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void smp_oc_objfree(struct worker *wrk, struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - oc
    - sg
    - objidx
    argTypes:
    - struct objcore*
    - struct smp_seg*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: smp_init_oc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 2
    functionsReached:
    - AZ
    linkageType: ''
    returnType: void
    signature: void smp_init_oc(struct objcore *oc, struct smp_seg *sg, unsigned objidx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:564,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:565,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:566,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:571,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:572,1
    - Dst: smp_find_so
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:573,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:577,1
    - Dst: BAN_Time
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:579,1
    - Dst: EXP_COPY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:581,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:582,1
    - Dst: BAN_Time
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:585,1
    - Dst: EXP_COPY
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - wrk
    - priv
    - oc
    - ev
    argTypes:
    - struct worker*
    - void*
    - struct objcore*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 589
    functionName: smp_oc_event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
    functionUses: 0
    functionsReached:
    - BAN_Time
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - EXP_COPY
    - smp_find_so
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void smp_oc_event(struct worker *wrk, void *priv, struct objcore *oc,
      unsigned ev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:75,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:75,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - sc
    - ctx
    - 'off'
    - id
    argTypes:
    - struct smp_sc*
    - struct smp_signctx*
    - uint64_t
    - char*
    assertStmts:
    - condition: (strlen(id) < sizeof ctx->ss->ident)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: smp_def_sign
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 4
    functionsReached:
    - assert
    - memset
    - strlen
    - AZ
    linkageType: ''
    returnType: void
    signature: "void smp_def_sign(const struct smp_sc *sc, struct smp_signctx *ctx,\n
      \   uint64_t off, const char *id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:93,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:100,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:101,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:103,1
    - Dst: SIGN_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:103,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:105,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:106,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:107,1
    - Dst: SIGN_END
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:107,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct smp_signctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 116
    functionName: smp_chk_sign
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 1
    functionsReached:
    - fprintf
    - VSHA256_Final
    - SIGN_END
    - VSHA256_Update
    - strncmp
    - SIGN_DATA
    - memcmp
    - VSHA256_Init
    linkageType: ''
    returnType: int
    signature: int smp_chk_sign(struct smp_signctx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:128,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:132,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:133,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:134,1
    - Dst: SIGN_END
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - ptr
    - len
    argTypes:
    - struct smp_signctx*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: smp_append_sign
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 0
    functionsReached:
    - VSHA256_Update
    - VSHA256_Final
    - memcpy
    - SIGN_END
    linkageType: ''
    returnType: void
    signature: void smp_append_sign(struct smp_signctx *ctx, const void *ptr, uint32_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:145,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:146,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:146,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:147,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:150,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:151,1
    - Dst: smp_append_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct smp_signctx*
    assertStmts:
    - condition: (strlen(ctx->id) < sizeof *ctx->ss)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: smp_reset_sign
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 2
    functionsReached:
    - VSHA256_Init
    - memset
    - VSHA256_Update
    - smp_append_sign
    - assert
    - strlen
    - strcpy
    linkageType: ''
    returnType: void
    signature: void smp_reset_sign(struct smp_signctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_msync
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct smp_signctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: smp_sync_sign
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 5
    functionsReached:
    - smp_msync
    linkageType: ''
    returnType: void
    signature: void smp_sync_sign(const struct smp_signctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_def_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:174,1
    - Dst: smp_reset_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:175,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - sc
    - ctx
    - 'off'
    - id
    argTypes:
    - struct smp_sc*
    - struct smp_signctx*
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: smp_new_sign
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 0
    functionsReached:
    - smp_reset_sign
    - smp_def_sign
    - smp_sync_sign
    linkageType: ''
    returnType: void
    signature: "void smp_new_sign(const struct smp_sc *sc, struct smp_signctx *ctx,\n
      \   uint64_t off, const char *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_def_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:187,1
    - Dst: SIGN_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - sc
    - spc
    - 'off'
    - size
    - id
    argTypes:
    - struct smp_sc*
    - struct smp_signspace*
    - uint64_t
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 190
    functionName: smp_def_signspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 0
    functionsReached:
    - smp_def_sign
    - SIGN_DATA
    linkageType: ''
    returnType: void
    signature: "void smp_def_signspace(const struct smp_sc *sc, struct smp_signspace
      *spc,\n\t\t  uint64_t off, uint64_t size, const char *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_chk_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spc
    argTypes:
    - struct smp_signspace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: smp_chk_signspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 3
    functionsReached:
    - smp_chk_sign
    linkageType: ''
    returnType: int
    signature: int smp_chk_signspace(struct smp_signspace *spc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:210,1
    - Dst: SIGNSPACE_FREE
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:210,1
    - Dst: smp_append_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:211,1
    - Dst: SIGNSPACE_FRONT
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - spc
    - len
    argTypes:
    - struct smp_signspace*
    - uint32_t
    assertStmts:
    - condition: (len <= SIGNSPACE_FREE(spc))
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: smp_append_signspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 3
    functionsReached:
    - assert
    - SIGNSPACE_FRONT
    - SIGNSPACE_FREE
    - smp_append_sign
    linkageType: ''
    returnType: void
    signature: void smp_append_signspace(struct smp_signspace *spc, uint32_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_reset_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spc
    argTypes:
    - struct smp_signspace*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: smp_reset_signspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 2
    functionsReached:
    - smp_reset_sign
    linkageType: ''
    returnType: void
    signature: void smp_reset_signspace(struct smp_signspace *spc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:232,1
    - Dst: SIGNSPACE_LEN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:232,1
    - Dst: smp_reset_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:233,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:234,1
    - Dst: SIGNSPACE_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:234,1
    - Dst: SIGNSPACE_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:234,1
    - Dst: SIGNSPACE_LEN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:234,1
    - Dst: smp_append_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:235,1
    - Dst: SIGNSPACE_LEN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:235,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:236,1
    - Dst: SIGNSPACE_LEN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:236,1
    - Dst: SIGNSPACE_LEN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct smp_signspace*
    - struct smp_signspace*
    assertStmts:
    - condition: (SIGNSPACE_LEN(src) <= dst->size)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (SIGNSPACE_LEN(src) == SIGNSPACE_LEN(dst))
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: smp_copy_signspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 1
    functionsReached:
    - smp_append_signspace
    - SIGNSPACE_LEN
    - memcpy
    - SIGNSPACE_DATA
    - assert
    - smp_reset_signspace
    linkageType: ''
    returnType: void
    signature: void smp_copy_signspace(struct smp_signspace *dst, const struct smp_signspace
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smp_new_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:247,1
    - Dst: SIGN_DATA
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - sc
    - spc
    - 'off'
    - size
    - id
    argTypes:
    - struct smp_sc*
    - struct smp_signspace*
    - uint64_t
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: smp_new_signspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 0
    functionsReached:
    - smp_new_sign
    - SIGN_DATA
    linkageType: ''
    returnType: void
    signature: "void smp_new_signspace(const struct smp_sc *sc, struct smp_signspace
      *spc,\n\t\t  uint64_t off, uint64_t size, const char *id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpagesize
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:262,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:263,1
    - Dst: PWR2
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:263,1
    - Dst: RDN2
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:264,1
    - Dst: RUP2
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:265,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:266,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:267,1
    - Dst: msync
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - addr
    - length
    argTypes:
    - void*
    - size_t
    assertStmts:
    - condition: (pagesize > 0 && PWR2(pagesize))
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (start < end)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: smp_msync
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 1
    functionsReached:
    - getpagesize
    - RDN2
    - PWR2
    - RUP2
    - msync
    - AZ
    - assert
    linkageType: ''
    returnType: void
    signature: void smp_msync(const void *addr, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:282,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:282,1
    - Dst: smp_reset_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:284,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:287,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:288,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:307,1
    - Dst: smp_new_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:309,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:310,1
    - Dst: smp_new_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:311,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:312,1
    - Dst: smp_new_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:313,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:314,1
    - Dst: smp_new_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:315,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:316,1
    - Dst: smp_append_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:318,1
    - Dst: smp_sync_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct smp_sc*
    assertStmts:
    - condition: (si->stuff[SMP_SPC_STUFF] < si->stuff[SMP_END_STUFF])
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    constantsTouched: []
    func_position:
      end: 320
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 320
    functionName: smp_newsilo
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 1
    functionsReached:
    - smp_sync_sign
    - smp_new_signspace
    - VRND_RandomCrypto
    - bstrcpy
    - memset
    - smp_append_sign
    - AZ
    - smp_reset_sign
    - assert
    - smp_stuff_len
    linkageType: ''
    returnType: void
    signature: void smp_newsilo(struct smp_sc *sc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:332,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:332,1
    - Dst: smp_chk_sign
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:334,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:339,1
    - Dst: PWR2
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:353,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:360,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:361,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:362,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:363,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:364,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:365,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:367,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:367,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:368,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:368,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:369,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:371,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:371,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:372,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:372,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:373,1
    - Dst: smp_def_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:375,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:376,1
    - Dst: smp_def_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:377,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:378,1
    - Dst: smp_def_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:379,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:380,1
    - Dst: smp_def_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:381,1
    - Dst: smp_stuff_len
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:382,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:385,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:386,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:391,1
    - Dst: smp_chk_signspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct smp_sc*
    assertStmts:
    - condition: (strlen(SMP_IDENT_STRING) < sizeof si->ident)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (si->stuff[SMP_SPC_STUFF] > si->stuff[SMP_SEG2_STUFF])
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (smp_stuff_len(sc, SMP_BAN1_STUFF) > 65536)
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (si->stuff[SMP_BAN1_STUFF] > sizeof *si + VSHA256_LEN)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (si->stuff[SMP_BAN2_STUFF] > si->stuff[SMP_BAN1_STUFF])
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (si->stuff[SMP_SEG1_STUFF] > si->stuff[SMP_BAN2_STUFF])
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (smp_stuff_len(sc, SMP_SEG1_STUFF) > 65536)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: "(smp_stuff_len(sc, SMP_BAN1_STUFF) ==\n\t  smp_stuff_len(sc, SMP_BAN2_STUFF))"
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (si->stuff[SMP_END_STUFF] == sc->mediasize)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: (si->stuff[SMP_SEG2_STUFF] > si->stuff[SMP_SEG1_STUFF])
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    - condition: "(smp_stuff_len(sc, SMP_SEG1_STUFF) ==\n\t  smp_stuff_len(sc, SMP_SEG2_STUFF))"
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    constantsTouched: []
    func_position:
      end: 396
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 396
    functionName: smp_valid_silo
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
    functionUses: 2
    functionsReached:
    - smp_chk_sign
    - PWR2
    - strcmp
    - assert
    - smp_def_signspace
    - smp_stuff_len
    - smp_chk_signspace
    - strlen
    linkageType: ''
    returnType: int
    signature: int smp_valid_silo(struct smp_sc *sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: ASSERT_SILO_THREAD
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_SILO_THREAD(sc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: PRNUP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRNUP(sc, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: IRNDN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IRNDN(sc, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: IRNUP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IRNUP(sc, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: IASSERTALIGN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IASSERTALIGN(sc, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sc
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: ASSERT_PTR_IN_SILO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_PTR_IN_SILO(sc, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: SIGN_DATA
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGN_DATA(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: SIGN_END
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGN_END(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - spc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: SIGNSPACE_DATA
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNSPACE_DATA(spc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - spc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: SIGNSPACE_FRONT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNSPACE_FRONT(spc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - spc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: SIGNSPACE_LEN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNSPACE_LEN(spc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - spc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: SIGNSPACE_FREE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIGNSPACE_FREE(spc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sc
    - stuff
    argTypes:
    - struct smp_sc*
    - unsigned
    assertStmts:
    - condition: (stuff < SMP_END_STUFF)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: smp_stuff_len
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 3
    functionsReached:
    - assert
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t smp_stuff_len(const struct smp_sc *sc, unsigned stuff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sg
    argTypes:
    - struct smp_seg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: smp_segend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t smp_segend(const struct smp_seg *sg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IASSERTALIGN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h:360,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h:361,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h:361,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h:362,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h:363,1
    - Dst: IRNUP
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - sg
    argTypes:
    - struct smp_sc*
    - struct smp_seg*
    assertStmts:
    - condition: (sc->next_top < sg->p.offset + sg->p.length)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - condition: (sc->next_bot >= sg->p.offset)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - condition: (sc->next_bot <= sc->next_top - IRNUP(sc, SMP_SIGN_SPACE))
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: smp_spaceleft
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    functionUses: 2
    functionsReached:
    - assert
    - IASSERTALIGN
    - IRNUP
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t smp_spaceleft(const struct smp_sc *sc, const struct smp_seg
      *sg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: OBJ_FIXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_FIXATTR(U, l, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: OBJ_VARATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_VARATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: OBJ_VARATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_VARATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: OBJ_AUXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_AUXATTR(U, l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:62,1
    - Dst: objgetspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - wrk
    - oc
    - sz
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: smd_lsp_getspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - objgetspace
    linkageType: ''
    returnType: void
    signature: "void smd_lsp_getspace(struct worker *wrk, struct objcore *oc, ssize_t
      *sz,\n    uint8_t **ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:80,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:83,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:86,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:90,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:91,1
    - Dst: objgetspace
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - wrk
    - oc
    - sz
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t*
    - uint8_t**
    assertStmts:
    - condition: (used < max_size)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: smd_max_getspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - vmin_t
    - objgetspace
    - assert
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void smd_max_getspace(struct worker *wrk, struct objcore *oc, ssize_t
      *sz,\n    uint8_t **ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:101,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:103,1
    - Dst: objextend
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wrk
    - oc
    - l
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: smd_max_extend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached:
    - assert
    - objextend
    - VSLb
    linkageType: ''
    returnType: void
    signature: void smd_max_extend(struct worker *wrk, struct objcore *oc, ssize_t
      l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - wrk
    - oc
    - sz
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t*
    - uint8_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: smd_full_getspace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void smd_full_getspace(struct worker *wrk, struct objcore *oc, ssize_t
      *sz,\n    uint8_t **ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - wrk
    - stv
    - oc
    - len
    argTypes:
    - struct worker*
    - struct stevedore*
    - struct objcore*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: smd_full_allocobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void smd_full_allocobj(struct worker *wrk, const struct stevedore
      *stv,\n    struct objcore *oc, unsigned len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: dur_arg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dur_arg(a, s, d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:141,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:142,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:142,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:144,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:145,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:147,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - a
    - s
    - sz
    argTypes:
    - char*
    - char*
    - ssize_t*
    assertStmts:
    - condition: (bytes <= SSIZE_MAX)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: bytes_arg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - assert
    - strncmp
    - VNUM_2bytes
    - ARGV_ERR
    - strlen
    linkageType: ''
    returnType: int
    signature: int bytes_arg(char *a, const char *s, ssize_t *sz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:157,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:158,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stv
    argTypes:
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: smd_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached:
    - fprintf
    - VTIM_sleep
    - open
    linkageType: ''
    returnType: void
    signature: void smd_open(struct stevedore *stv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:177,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:180,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:184,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:185,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:186,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:189,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:192,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:193,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:197,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:199,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:203,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:207,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:209,1
    - Dst: bytes_arg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:215,1
    - Dst: ARGV_ERR
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:217,1
    - Dst: dur_arg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:224,1
    - Dst: dur_arg
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:228,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:236,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:237,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:238,1
    - Dst: init
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:245,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:246,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:247,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:248,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c:250,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 3
    argNames:
    - parent
    - aac
    - aav
    argTypes:
    - struct stevedore*
    - int
    - char**
    assertStmts:
    - condition: (ac < (int)nac)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    - condition: (ac >= 0)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    - condition: (aac >= 0)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    constantsTouched: []
    func_position:
      end: 253
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 253
    functionName: smd_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
    functionUses: 0
    functionsReached:
    - init
    - fprintf
    - AN
    - malloc
    - memcpy
    - bytes_arg
    - strcmp
    - assert
    - AZ
    - dur_arg
    - ARGV_ERR
    - VTIM_sleep
    - calloc
    - free
    linkageType: ''
    returnType: void
    signature: void smd_init(struct stevedore *parent, int aac, char * const *aav)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - vt
    - ','
    - ct
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: VRTSTVVAR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRTSTVVAR(nm,vt,ct,def)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: ptr2lease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ptr2lease(const void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: lease2ptr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      lease2ptr(uintptr_t l)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - vtype
    - ','
    - ctype
    - ','
    - dval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: VRTSTVVAR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRTSTVVAR(nm, vtype, ctype, dval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: STV_Foreach
    functionSourceFile: /src/vinyl-cache/bin/vinyld/storage/storage.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STV_Foreach(arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:88,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:89,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:90,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:91,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:92,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:95,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:99,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:100,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:103,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:104,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:109,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:111,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:115,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:122,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:123,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:123,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:125,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:125,1
    - Dst: CAST_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:126,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:126,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:128,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:129,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:129,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:131,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:132,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:137,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:146,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:146,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:148,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:148,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:148,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:148,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:150,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:150,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:152,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:157,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:165,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:166,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:171,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:173,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:174,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:174,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:176,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 2
    argNames:
    - bo
    - psb
    argTypes:
    - struct busyobj*
    - struct vsb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 177
    functionName: VRY_Create
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - AN
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - VSB_finish
    - CAST_HDR
    - VSB_printf
    - vct_issp
    - VSB_data
    - AZ
    - VSB_len
    - VSB_bcat
    - strchr
    - VSB_clear
    - VSB_new_auto
    - VSLb
    linkageType: ''
    returnType: int
    signature: int VRY_Create(struct busyobj *bo, struct vsb **psb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: VRY_Len
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 0
    functionsReached:
    - vbe16dec
    linkageType: ''
    returnType: unsigned
    signature: unsigned VRY_Len(const uint8_t *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:198,1
    - Dst: VRY_Len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:198,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:201,1
    - Dst: http_hdr_eq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 220
    functionName: vry_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 0
    functionsReached:
    - VRY_Len
    - memcmp
    - http_hdr_eq
    linkageType: ''
    returnType: int
    signature: int vry_cmp(const uint8_t *v1, const uint8_t *v2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:230,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:231,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:232,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:234,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:234,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:236,1
    - Dst: WS_ReservationSize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: VRY_Prep
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 0
    functionsReached:
    - AN
    - WS_ReserveAll
    - AZ
    - WS_ReservationSize
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void VRY_Prep(struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:246,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:248,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: VRY_Clear
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 0
    functionsReached:
    - free
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void VRY_Clear(struct req *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:266,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:267,1
    - Dst: VRY_Validate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:271,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:273,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:275,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - req
    - flg
    argTypes:
    - struct req*
    - enum vry_finish_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 280
    functionName: VRY_Finish
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 0
    functionsReached:
    - WS_Release
    - malloc
    - VRY_Validate
    - memcpy
    - WS_MarkOverflow
    linkageType: ''
    returnType: void
    signature: void VRY_Finish(struct req *req, enum vry_finish_flag flg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:298,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:299,1
    - Dst: vry_cmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:308,1
    - Dst: CAST_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:315,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:317,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:320,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:324,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:340,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:341,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:343,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:347,1
    - Dst: VRY_Validate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:347,1
    - Dst: vry_cmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:349,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:350,1
    - Dst: VRY_Len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:354,1
    - Dst: VRY_Len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:355,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - req
    - vary
    argTypes:
    - struct req*
    - uint8_t*
    assertStmts:
    - condition: (lh < 0xffff)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    - condition: (i == 0 || i == 2)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    - condition: (VRY_Validate(vsp) == ln)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    constantsTouched: []
    func_position:
      end: 372
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 372
    functionName: VRY_Match
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 0
    functionsReached:
    - vry_cmp
    - AN
    - vbe16enc
    - CAST_HDR
    - http_GetHdr
    - memcpy
    - VRY_Validate
    - vct_issp
    - assert
    - strchr
    - VRY_Len
    linkageType: ''
    returnType: int
    signature: int VRY_Match(const struct req *req, const uint8_t *vary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:384,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:384,1
    - Dst: VRY_Len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vary
    argTypes:
    - uint8_t*
    assertStmts:
    - condition: (strlen((const char*)vary + 3) == vary[2])
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    constantsTouched: []
    func_position:
      end: 390
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 390
    functionName: VRY_Validate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
    functionUses: 2
    functionsReached:
    - assert
    - strlen
    - VRY_Len
    linkageType: ''
    returnType: unsigned
    signature: unsigned VRY_Validate(const uint8_t *vary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: ws_emu
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: struct ws_emu
    signature: 'struct ws_emu *

      ws_emu(const struct ws *ws)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:81,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:82,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:83,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:83,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:84,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:85,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:85,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:87,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:89,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:92,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:93,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:95,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:98,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:99,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:100,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:104,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:104,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:106,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:107,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:108,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:110,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:111,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:112,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:114,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:115,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:117,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:118,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:121,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:122,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:123,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts:
    - condition: (PAOK(ws->s))
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (PAOK(ws->e))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (len <= we->len)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ws->f == wa->ptr)
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (len <= we->len)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ws->r == ws->f + wa->len)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ws->r == ws->e)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ws->s != NULL)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ws->e != NULL)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (len == we->len)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (len == wa->off)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ws->f == ws->e)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 125
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 125
    functionName: WS_Assert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 1
    functionsReached:
    - PAOK
    - AN
    - CHECK_OBJ_NOTNULL
    - PRNDUP
    - DSLb
    - AZ
    - assert
    - pdiff
    - ws_emu
    - VTAILQ_NEXT
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void WS_Assert(const struct ws *ws)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:135,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:137,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:139,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ws
    - ptr
    - len
    argTypes:
    - struct ws*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: WS_Allocated
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - ws_emu
    - VTAILQ_FOREACH
    - strlen
    linkageType: ''
    returnType: int
    signature: int WS_Allocated(const struct ws *ws, const void *ptr, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:162,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:164,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:165,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:165,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:166,1
    - Dst: PRNDDN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:168,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:169,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:173,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:174,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:177,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:178,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 4
    argNames:
    - ws
    - id
    - space
    - len
    argTypes:
    - struct ws*
    - char*
    - void*
    - unsigned
    assertStmts:
    - condition: (len >= sizeof *we)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (space != NULL)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (PAOK(space))
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (id[0] & 0x20)
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 182
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 182
    functionName: WS_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - PAOK
    - WS_Assert
    - INIT_OBJ
    - bstrcpy
    - PRNDDN
    - assert
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_Init(struct ws *ws, const char *id, void *space, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:189,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:190,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:190,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:191,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:192,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - we
    - wap
    argTypes:
    - struct ws_emu*
    - struct ws_alloc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: ws_alloc_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - VTAILQ_REMOVE
    - AZ
    - VTAILQ_NEXT
    - free
    linkageType: ''
    returnType: void
    signature: void ws_alloc_free(struct ws_emu *we, struct ws_alloc **wap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:203,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:204,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:206,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:207,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:207,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:211,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:212,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:214,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:215,1
    - Dst: ws_alloc_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:217,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:219,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ws
    - pp
    argTypes:
    - struct ws*
    - uintptr_t
    assertStmts:
    - condition: (p == ws->s)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 222
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 222
    functionName: WS_Reset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 1
    functionsReached:
    - WS_Overflowed
    - WS_Assert
    - AN
    - VTAILQ_LAST
    - AZ
    - ws_emu
    - assert
    - DSLb
    - ws_alloc_free
    linkageType: ''
    returnType: void
    signature: void WS_Reset(struct ws *ws, uintptr_t pp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:230,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:231,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:232,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:240,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:241,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:242,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:243,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:244,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:246,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:252,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:254,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:257,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:262,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - ws
    - b
    - e
    - rollback
    argTypes:
    - struct ws*
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 265
    functionName: WS_Pipeline
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Rollback
    - WS_Assert
    - AN
    - malloc
    - memcpy
    - WS_ReserveAll
    - AZ
    - pdiff
    - free
    linkageType: ''
    returnType: int
    signature: int WS_Pipeline(struct ws *ws, const void *b, const void *e, unsigned
      rollback)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:274,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:275,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:277,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:278,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:279,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:282,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:284,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:290,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:291,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:295,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:296,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ws
    - len
    argTypes:
    - struct ws*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 300
    functionName: ws_emu_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - malloc
    - PRNDUP
    - VTAILQ_LAST
    - WS_MarkOverflow
    - AZ
    - ws_emu
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct ws_alloc
    signature: 'struct ws_alloc *

      ws_emu_alloc(struct ws *ws, unsigned len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:307,1
    - Dst: ws_emu_alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:308,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:309,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:311,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ws
    - bytes
    argTypes:
    - struct ws*
    - unsigned
    assertStmts:
    - condition: (bytes > 0)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: WS_Alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 5
    functionsReached:
    - WS_Assert
    - AN
    - assert
    - ws_emu_alloc
    - DSLb
    linkageType: ''
    returnType: void
    signature: 'void *

      WS_Alloc(struct ws *ws, unsigned bytes)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:324,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:326,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:327,1
    - Dst: ws_emu_alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:328,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:329,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:331,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:332,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ws
    - str
    - len
    argTypes:
    - struct ws*
    - void*
    - int
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 338
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 338
    functionName: WS_Copy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - memcpy
    - assert
    - ws_emu_alloc
    - DSLb
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      WS_Copy(struct ws *ws, const void *str, int len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:347,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:348,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:349,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:350,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:354,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:355,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:356,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts:
    - condition: (ws->r == NULL)
      pos:
        line_end: 347
        line_start: 347
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: WS_Snapshot
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 2
    functionsReached:
    - WS_Overflowed
    - WS_Assert
    - VTAILQ_LAST
    - DSLb
    - assert
    - ws_emu
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t WS_Snapshot(struct ws *ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ws_emu_alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:368,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:372,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:379,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:380,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 383
    functionName: WS_ReserveAll
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 2
    functionsReached:
    - WS_Assert
    - AN
    - ws_emu_alloc
    - pdiff
    - DSLb
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReserveAll(struct ws *ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:391,1
    - Dst: ws_emu_alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:392,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:396,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:397,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:400,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:401,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ws
    - bytes
    argTypes:
    - struct ws*
    - unsigned
    assertStmts:
    - condition: (bytes > 0)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (wa->len == bytes)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 405
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 405
    functionName: WS_ReserveSize
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 2
    functionsReached:
    - WS_Assert
    - AN
    - ws_emu
    - assert
    - ws_emu_alloc
    - DSLb
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReserveSize(struct ws *ws, unsigned bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:413,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:414,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:415,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:416,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:417,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:418,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:419,1
    - Dst: ws_alloc_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:423,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:427,1
    - Dst: ASAN_POISON_MEMORY_REGION
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:429,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ws
    - bytes
    argTypes:
    - struct ws*
    - unsigned
    assertStmts:
    - condition: (bytes <= wa->len)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 433
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 433
    functionName: ws_release
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - VTAILQ_LAST
    - assert
    - ws_emu
    - ASAN_POISON_MEMORY_REGION
    - ws_alloc_free
    linkageType: ''
    returnType: void
    signature: void ws_release(struct ws *ws, unsigned bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ws_release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:439,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ws
    - bytes
    argTypes:
    - struct ws*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: WS_Release
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 7
    functionsReached:
    - ws_release
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_Release(struct ws *ws, unsigned bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:448,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:449,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:450,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:451,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:452,1
    - Dst: ws_release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:453,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ws
    - ptr
    argTypes:
    - struct ws*
    - char*
    assertStmts:
    - condition: (ws->r != NULL)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ptr <= ws->r)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - condition: (ptr >= ws->f)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: WS_ReleaseP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 2
    functionsReached:
    - WS_Assert
    - ws_release
    - assert
    - pdiff
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_ReleaseP(struct ws *ws, const char *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:463,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:464,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:466,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:468,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:473,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:474,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ws
    - 'off'
    - len
    argTypes:
    - struct ws*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (wa->len >= len)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    constantsTouched: []
    func_position:
      end: 475
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 475
    functionName: WS_AtOffset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - return
    - NEEDLESS
    - assert
    - WRONG
    - ws_emu
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: 'void *

      WS_AtOffset(const struct ws *ws, unsigned off, unsigned len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:483,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:484,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:485,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:486,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:487,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 490
    functionName: WS_ReservationOffset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - VTAILQ_LAST
    - ws_emu
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReservationOffset(const struct ws *ws)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:500,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:501,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:502,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:504,1
    - Dst: ws_emu
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:514,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:515,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:533,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:534,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:540,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:545,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:546,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:553,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - ws
    - where
    - 'off'
    - buf
    - len
    argTypes:
    - struct ws*
    - char
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 555
    functionName: WS_Dump
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - memcpy
    - memset
    - VTAILQ_LAST
    - vmin_t
    - strchr
    - ws_emu
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_Dump(const struct ws *ws, char where, size_t off, void
      *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_once
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:564,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:566,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:568,1
    - Dst: PAN_dump_once_oneline
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:569,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:571,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:575,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - vsb
    - ws
    argTypes:
    - struct vsb*
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 577
    functionName: ws_emu_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_once
    - VSB_printf
    - VSB_cat
    - PAN_dump_once_oneline
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void ws_emu_panic(struct vsb *vsb, const struct ws *ws)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:583,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:586,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:587,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:588,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:590,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:592,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:593,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:594,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:596,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:598,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:599,1
    - Dst: ws_emu_panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:601,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:603,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - vsb
    - ws
    argTypes:
    - struct vsb*
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 605
    functionName: WS_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - VSB_printf
    - ws_emu_panic
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void WS_Panic(struct vsb *vsb, const struct ws *ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:94,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:95,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:96,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:97,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:98,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:101,1
    - Dst: struct bgthread*::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:104,1
    - Dst: HSH_Cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:105,1
    - Dst: Pool_Sumstat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: wrk_bgthread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - THR_Init
    - INIT_OBJ
    - memset
    - THR_SetName
    - CAST_OBJ_NOTNULL
    - struct bgthread*::func
    - HSH_Cleanup
    - Pool_Sumstat
    linkageType: ''
    returnType: void
    signature: 'void *

      wrk_bgthread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:115,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:116,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:121,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - thr
    - name
    - func
    - priv
    argTypes:
    - pthread_t*
    - char*
    - bgthread_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: WRK_BgThread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 2
    functionsReached:
    - PTOK
    - AN
    - ALLOC_OBJ
    - pthread_create
    linkageType: ''
    returnType: void
    signature: void WRK_BgThread(pthread_t *thr, const char *name, bgthread_t *func,
      void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:136,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:137,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:138,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:140,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:142,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:143,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:146,1
    - Dst: THR_SetWorker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:148,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:149,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:149,1
    - Dst: WS_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:151,1
    - Dst: VPI_wrk_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:153,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:155,1
    - Dst: Pool_Work_Thread
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:157,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:158,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:160,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:162,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:163,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:163,1
    - Dst: HSH_Cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:164,1
    - Dst: Pool_Sumstat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - qp
    - stacksize
    - thread_workspace
    argTypes:
    - struct pool*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 166
    functionName: WRK_Thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - AN
    - VCL_Rel
    - INIT_OBJ
    - memset
    - THR_SetName
    - THR_SetWorker
    - VSL
    - AZ
    - PTOK
    - Pool_Work_Thread
    - pthread_cond_init
    - HSH_Cleanup
    - Pool_Sumstat
    - WS_Init
    - VPI_wrk_init
    linkageType: ''
    returnType: void
    signature: void WRK_Thread(struct pool *qp, size_t stacksize, unsigned thread_workspace)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:177,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:179,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:181,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:186,1
    - Dst: VSC_main_Summ_wrk_wrk
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:189,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:190,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - wrk
    - tp
    - locked
    argTypes:
    - struct worker*
    - struct pool_task*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: wrk_addstat
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - memset
    - VSC_main_Summ_wrk_wrk
    - Lck_Lock
    - Lck_AssertHeld
    linkageType: ''
    returnType: unsigned
    signature: unsigned wrk_addstat(const struct worker *wrk, const struct pool_task
      *tp, unsigned locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wrk_addstat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: WRK_AddStat
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 2
    functionsReached:
    - wrk_addstat
    linkageType: ''
    returnType: void
    signature: void WRK_AddStat(const struct worker *wrk)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: pool_reserve
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned pool_reserve(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:236,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:237,1
    - Dst: pool_reserve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:238,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:239,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:241,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:247,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:248,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:250,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pp
    - prio
    argTypes:
    - struct pool*
    - enum task_prio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 255
    functionName: pool_getidleworker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - CAST_OBJ_NOTNULL
    - Lck_AssertHeld
    - pool_reserve
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: struct worker
    signature: 'struct worker *

      pool_getidleworker(struct pool *pp, enum task_prio prio)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:272,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:273,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:274,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:276,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:278,1
    - Dst: pool_getidleworker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:279,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:286,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:287,1
    - Dst: WS_ReserveSize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:287,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:288,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:288,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:290,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:291,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:294,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - wrk
    - prio
    - func
    - arg
    - arg_len
    argTypes:
    - struct worker*
    - enum task_prio
    - task_func_t*
    - void*
    - size_t
    assertStmts:
    - condition: (arg_len <= WS_ReserveSize(wrk2->aws, arg_len))
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    constantsTouched: []
    func_position:
      end: 296
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 296
    functionName: Pool_Task_Arg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - AN
    - pool_getidleworker
    - CHECK_OBJ_NOTNULL
    - memcpy
    - AZ
    - assert
    - WS_ReserveSize
    - PTOK
    - Lck_Lock
    - WS_Reservation
    - pthread_cond_signal
    linkageType: ''
    returnType: int
    signature: "int Pool_Task_Arg(struct worker *wrk, enum task_prio prio, task_func_t
      *func,\n    const void *arg, size_t arg_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:307,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:308,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:309,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:310,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:316,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:323,1
    - Dst: pool_getidleworker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:327,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:329,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:332,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:334,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:334,1
    - Dst: TASK_QUEUE_LIMITED
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:343,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:348,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:349,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:349,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:362,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - pp
    - task
    - prio
    argTypes:
    - struct pool*
    - struct pool_task*
    - enum task_prio
    assertStmts:
    - condition: (prio < TASK_QUEUE__END)
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    constantsTouched: []
    func_position:
      end: 364
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 364
    functionName: Pool_Task
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 7
    functionsReached:
    - Lck_Unlock
    - AN
    - pool_getidleworker
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VSL
    - AZ
    - assert
    - PTOK
    - Lck_Lock
    - TASK_QUEUE_LIMITED
    - pthread_cond_signal
    linkageType: ''
    returnType: int
    signature: int Pool_Task(struct pool *pp, struct pool_task *task, enum task_prio
      prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: pool_kiss_of_death
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pool_kiss_of_death(struct worker *wrk, void *priv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:390,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:393,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:396,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:397,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:399,1
    - Dst: pool_reserve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:400,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:405,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:409,1
    - Dst: wrk_addstat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:414,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:416,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:426,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:427,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:430,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:435,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:447,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:451,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:468,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:469,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:482,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:483,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:487,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:493,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:494,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:495,1
    - Dst: struct pool_task*::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:496,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:497,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:498,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:503,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 2
    argNames:
    - pp
    - wrk
    argTypes:
    - struct pool*
    - struct worker*
    assertStmts:
    - condition: (pp->nidle > 0)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    - condition: (wrk->pool == pp)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    constantsTouched: []
    func_position:
      end: 509
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 509
    functionName: Pool_Work_Thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FIRST
    - VTIM_real
    - DO_DEBUG
    - WS_Rollback
    - WS_Overflowed
    - AN
    - wrk_addstat
    - memset
    - isnan
    - Lck_Lock
    - VTAILQ_REMOVE
    - VCL_Rel
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - struct pool_task*::func
    - AZ
    - assert
    - Lck_CondWaitUntil
    - Lck_Unlock
    - pool_reserve
    linkageType: ''
    returnType: void
    signature: void Pool_Work_Thread(struct pool *pp, struct worker *wrk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:527,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:528,1
    - Dst: WRK_Thread
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:529,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: pool_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - THR_Init
    - WRK_Thread
    - FREE_OBJ
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      pool_thread(void *priv)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:541,1
    - Dst: pthread_attr_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:541,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:542,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:542,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:546,1
    - Dst: pthread_attr_setstacksize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:546,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:548,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:549,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:550,1
    - Dst: pthread_attr_getstacksize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:550,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:553,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:555,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:556,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:557,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:558,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:560,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:561,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:564,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:567,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:569,1
    - Dst: sched_yield
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:571,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:574,1
    - Dst: pthread_attr_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - qp
    argTypes:
    - struct pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 575
    functionName: pool_breed
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - pthread_attr_setdetachstate
    - pthread_attr_init
    - pthread_attr_setstacksize
    - AN
    - VAS_errtxt
    - Lck_Unlock
    - FREE_OBJ
    - sched_yield
    - pthread_attr_getstacksize
    - VSL
    - pthread_attr_destroy
    - PTOK
    - Lck_Lock
    - pthread_create
    - VTIM_sleep
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void pool_breed(struct pool *qp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:606,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:608,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:609,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:625,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:631,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:632,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:633,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:635,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:636,1
    - Dst: pool_breed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:646,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:651,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:655,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:657,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:659,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:661,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:662,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:663,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:668,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:672,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:672,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:678,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:682,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:685,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:688,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:697,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:700,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:702,1
    - Dst: Lck_CondWaitTimeout
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:704,1
    - Dst: Lck_CondWaitTimeout
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:710,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:713,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (pp->nthr >= wthread_min)
      pos:
        line_end: 650
        line_start: 650
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    constantsTouched: []
    func_position:
      end: 716
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 716
    functionName: pool_herder
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - THR_SetName
    - VSL
    - DO_DEBUG
    - VTIM_mono
    - AN
    - VTAILQ_EMPTY
    - VTAILQ_LAST
    - CAST_OBJ_NOTNULL
    - WRONG
    - Lck_Lock
    - VTAILQ_REMOVE
    - VTIM_sleep
    - THR_Init
    - Lck_CondWaitTimeout
    - pool_breed
    - AZ
    - assert
    - PTOK
    - Lck_Unlock
    - pthread_cond_signal
    - vmax
    linkageType: ''
    returnType: void
    signature: 'void *

      pool_herder(void *priv)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 736
    functionName: debug_reqpoolfail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug_reqpoolfail(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:749,1
    - Dst: THR_GetWorker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:751,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:752,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:754,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:756,1
    - Dst: VSLv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:758,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tag
    - fmt
    argTypes:
    - enum VSL_tag_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 760
    functionName: WRK_Log
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - AN
    - VSLv
    - CHECK_OBJ_ORNULL
    - THR_GetWorker
    - va_start
    - VSLbv
    - va_end
    linkageType: ''
    returnType: void
    signature: void WRK_Log(enum VSL_tag_e tag, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:769,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cache_param->wthread_min >= TASK_QUEUE_RESERVE)
      pos:
        line_end: 768
        line_start: 768
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: WRK_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    functionUses: 0
    functionsReached:
    - assert
    - CLI_AddFuncs
    linkageType: ''
    returnType: void
    signature: void WRK_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: ASSERT_VCL_ACTIVE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_VCL_ACTIVE()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - i1
    - i2
    argTypes:
    - struct metaban*
    - struct metaban*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: metaban_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int metaban_cmp(const struct metaban *i1, const struct metaban *i2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:88,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:88,1
    - Dst: VRBT_NFIND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:89,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:91,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:91,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:104,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:106,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:106,1
    - Dst: VTAILQ_FOREACH_FROM
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:110,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:111,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:115,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:118,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:118,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:121,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - t0
    argTypes:
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 123
    functionName: BANIDX_lookup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH_FROM
    - AN
    - VRBT_INSERT
    - ban_time
    - AZ
    - pthread_mutex_lock
    - PTOK
    - VRBT_NFIND
    - VTAILQ_NEXT
    - pthread_mutex_unlock
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct ban
    signature: 'struct ban *

      BANIDX_lookup(vtim_real t0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRBT_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:130,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:131,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: BANIDX_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - VRBT_FOREACH_SAFE
    - VRBT_REMOVE
    linkageType: ''
    returnType: void
    signature: void BANIDX_fini(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: BAN_OPERIDX
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAN_OPERIDX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: ASSERT_BAN_OPER
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_BAN_OPER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: BAN_ARGIDX
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAN_ARGIDX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: ASSERT_BAN_ARG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_BAN_ARG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: BANS_HAS_ARG1_SPEC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BANS_HAS_ARG1_SPEC(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - oper
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: BANS_HAS_ARG2_SPEC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BANS_HAS_ARG2_SPEC(oper)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: BANS_HAS_ARG2_DOUBLE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BANS_HAS_ARG2_DOUBLE(arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:56,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct strands*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: strands_len
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned strands_len(const struct strands *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:78,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:80,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:85,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:85,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufl
    - s
    argTypes:
    - char*
    - unsigned
    - struct strands*
    assertStmts:
    - condition: (bufl > 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: strands_cat
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - memcpy
    - vmin_t
    - assert
    - strlen
    linkageType: ''
    returnType: unsigned
    signature: unsigned strands_cat(char *buf, unsigned bufl, const struct strands
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:112,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:113,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:115,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:116,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:117,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct vsl_log*
    assertStmts:
    - condition: (vsl->wlb <= vsl->wlp)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (vsl->wlp <= vsl->wle)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: vsl_sanity
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vsl_sanity(const struct vsl_log *vsl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:131,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tag
    argTypes:
    - enum VSL_tag_e
    assertStmts:
    - condition: (tag > SLT__Bogus)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (tag < SLT__Reserved)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: vsl_tag_is_masked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vsl_tag_is_masked(enum VSL_tag_e tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsl_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - enum VSL_tag_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: VSL_tag_is_masked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 3
    functionsReached:
    - vsl_tag_is_masked
    linkageType: ''
    returnType: int
    signature: int VSL_tag_is_masked(enum VSL_tag_e tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:152,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:153,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:154,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:155,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - tag
    - p
    - len
    - vxid
    argTypes:
    - enum VSL_tag_e
    - uint32_t*
    - unsigned
    - vxid_t
    assertStmts:
    - condition: (tag > SLT__Bogus)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (tag < SLT__Reserved)
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: vsl_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - assert
    - VSL_END
    - AZ
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      vsl_hdr(enum VSL_tag_e tag, uint32_t *p, unsigned len, vxid_t vxid)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct vsl_log*
    assertStmts:
    - condition: (mlen >= 0)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: vsl_space
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned vsl_space(const struct vsl_log *vsl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:193,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:194,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:196,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vsl_ptr >= vsl_head->log)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (vsl_segment_n % VSL_SEGMENTS == 0)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (vsl_ptr < vsl_end)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: vsl_wrap
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - assert
    - VWMB
    linkageType: ''
    returnType: void
    signature: void vsl_wrap(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:218,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:220,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:220,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:223,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:225,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:226,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:232,1
    - Dst: VSL_WORDS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:232,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:235,1
    - Dst: vsl_wrap
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:236,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:239,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:240,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:241,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:252,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - len
    - records
    - flushes
    argTypes:
    - unsigned
    - unsigned
    - unsigned
    assertStmts:
    - condition: (vsl_ptr < vsl_end)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (vsl_ptr < vsl_end)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 258
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 258
    functionName: vsl_get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    - VSL_BYTES
    - VSL_WORDS
    - VSL_END
    - AZ
    - pthread_mutex_lock
    - PTOK
    - assert
    - vsl_wrap
    - pthread_mutex_unlock
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      vsl_get(unsigned len, unsigned records, unsigned flushes)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsl_get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:276,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:278,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:287,1
    - Dst: vsl_hdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - tag
    - vxid
    - b
    - len
    argTypes:
    - enum VSL_tag_e
    - vxid_t
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 289
    functionName: vslr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - vsl_hdr
    - vsl_get
    - memcpy
    - VWMB
    linkageType: ''
    returnType: void
    signature: void vslr(enum VSL_tag_e tag, vxid_t vxid, const char *b, unsigned
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:304,1
    - Dst: vsl_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:305,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:308,1
    - Dst: vslr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:309,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:309,1
    - Dst: vsnprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:311,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:312,1
    - Dst: vslr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - tag
    - vxid
    - fmt
    - ap
    argTypes:
    - enum VSL_tag_e
    - vxid_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: VSLv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 1
    functionsReached:
    - vmin
    - AN
    - vsnprintf
    - vslr
    - strchr
    - vsl_tag_is_masked
    - strlen
    linkageType: ''
    returnType: void
    signature: void VSLv(enum VSL_tag_e tag, vxid_t vxid, const char *fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsl_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:325,1
    - Dst: strands_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:328,1
    - Dst: vslr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - tag
    - vxid
    - s
    argTypes:
    - enum VSL_tag_e
    - vxid_t
    - struct strands*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: VSLs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - vsl_tag_is_masked
    - strands_cat
    - vslr
    linkageType: ''
    returnType: void
    signature: void VSLs(enum VSL_tag_e tag, vxid_t vxid, const struct strands *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:338,1
    - Dst: VSLv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:339,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tag
    - vxid
    - fmt
    argTypes:
    - enum VSL_tag_e
    - vxid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: VSL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 21
    functionsReached:
    - VSLv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void VSL(enum VSL_tag_e tag, vxid_t vxid, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:351,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:352,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:356,1
    - Dst: vsl_get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:358,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:360,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - vsl
    - overflow
    argTypes:
    - struct vsl_log*
    - int
    assertStmts:
    - condition: (l >= 8)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 366
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 366
    functionName: VSL_Flush
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 1
    functionsReached:
    - memcpy
    - vsl_get
    - VWMB
    - assert
    - pdiff
    - vsl_sanity
    linkageType: ''
    returnType: void
    signature: void VSL_Flush(struct vsl_log *vsl, int overflow)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:378,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:382,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:383,1
    - Dst: VSL_DATA
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:385,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:388,1
    - Dst: vsl_space
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:389,1
    - Dst: vsl_hdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - vsl
    - tag
    - length
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: vslb_get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - VSL_END
    - VSL_DATA
    - VSL_Flush
    - vsl_space
    - vsl_sanity
    - vsl_hdr
    linkageType: ''
    returnType: char
    signature: 'char *

      vslb_get(struct vsl_log *vsl, enum VSL_tag_e tag, unsigned *length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:404,1
    - Dst: vslb_get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:406,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:407,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:410,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - vsl
    - tag
    - length
    - str
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 397
    functionDepth: 5
    functionLinenumber: 397
    functionLinenumberEnd: 412
    functionName: vslb_simple
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - vslb_get
    - memcpy
    - VSL_Flush
    - DO_DEBUG
    - strlen
    linkageType: ''
    returnType: void
    signature: "void vslb_simple(struct vsl_log *vsl, enum VSL_tag_e tag,\n    unsigned
      length, const char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:422,1
    - Dst: vsl_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:423,1
    - Dst: vslb_simple
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:426,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - vsl
    - tag
    - t
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - txt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 6
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: VSLbt
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 1
    functionsReached:
    - vsl_tag_is_masked
    - Tlen
    - vslb_simple
    - Tcheck
    linkageType: ''
    returnType: void
    signature: void VSLbt(struct vsl_log *vsl, enum VSL_tag_e tag, txt t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsl_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:438,1
    - Dst: strands_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:441,1
    - Dst: vslb_get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:442,1
    - Dst: strands_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:444,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:446,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - vsl
    - tag
    - s
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - struct strands*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 448
    functionName: VSLbs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 4
    functionsReached:
    - strands_cat
    - strands_len
    - vslb_get
    - VSL_Flush
    - DO_DEBUG
    - vsl_tag_is_masked
    linkageType: ''
    returnType: void
    signature: void VSLbs(struct vsl_log *vsl, enum VSL_tag_e tag, const struct strands
      *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:461,1
    - Dst: vsl_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:462,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:468,1
    - Dst: vslb_simple
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:469,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:476,1
    - Dst: va_arg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:477,1
    - Dst: vslb_simple
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:478,1
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:482,1
    - Dst: vsl_space
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:484,1
    - Dst: VSL_DATA
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:488,1
    - Dst: va_copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:489,1
    - Dst: vsnprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:490,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:491,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:496,1
    - Dst: vsl_space
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:497,1
    - Dst: VSL_DATA
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:498,1
    - Dst: vsnprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:499,1
    - Dst: vslb_get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:503,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:505,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:506,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - vsl
    - tag
    - fmt
    - ap
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 454
    functionDepth: 6
    functionLinenumber: 454
    functionLinenumberEnd: 507
    functionName: VSLbv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 2
    functionsReached:
    - vslb_simple
    - VSL_DATA
    - AN
    - vslb_get
    - va_copy
    - vsnprintf
    - VSL_Flush
    - va_arg
    - vsl_space
    - strcmp
    - DO_DEBUG
    - strchr
    - vsl_sanity
    - vsl_tag_is_masked
    - va_end
    linkageType: ''
    returnType: void
    signature: void VSLbv(struct vsl_log *vsl, enum VSL_tag_e tag, const char *fmt,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:514,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:515,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:516,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vsl
    - tag
    - fmt
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 509
    functionDepth: 7
    functionLinenumber: 509
    functionLinenumberEnd: 518
    functionName: VSLb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 55
    functionsReached:
    - va_end
    - VSLbv
    - va_start
    - vsl_sanity
    linkageType: ''
    returnType: void
    signature: void VSLb(struct vsl_log *vsl, enum VSL_tag_e tag, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: Ta6
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ta6(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:534,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:535,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:536,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:537,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:537,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:538,1
    - Dst: Ta6
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:539,1
    - Dst: Ta6
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:539,1
    - Dst: Ta6
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - vsl
    - event
    - first
    - pprev
    - now
    argTypes:
    - struct vsl_log*
    - char*
    - vtim_real
    - vtim_real*
    - vtim_real
    assertStmts:
    - condition: (!isnan(now) && now != 0.)
      pos:
        line_end: 536
        line_start: 536
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: VSLb_ts
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - AN
    - assert
    - isnan
    - vsl_sanity
    - Ta6
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void VSLb_ts(struct vsl_log *vsl, const char *event, vtim_real first,\n
      \   vtim_real *pprev, vtim_real now)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:549,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:550,1
    - Dst: vsl_tag_is_masked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:551,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:556,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:558,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:561,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:562,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:563,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:563,1
    - Dst: VSL_DATA
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:564,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:565,1
    - Dst: vsl_hdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:566,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:567,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:570,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - vsl
    - tag
    - len
    - ptr
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - ssize_t
    - void*
    assertStmts:
    - condition: (vsl->wlp <= vsl->wle)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (VSL_END(vsl->wlp, len) <= vsl->wle)
      pos:
        line_end: 562
        line_start: 562
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    - condition: (vsl->wlp <= vsl->wle)
      pos:
        line_end: 566
        line_start: 566
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 572
      start: 543
    functionDepth: 4
    functionLinenumber: 543
    functionLinenumberEnd: 572
    functionName: VSLb_bin
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 2
    functionsReached:
    - VSL_END
    - VSL_DATA
    - AN
    - memcpy
    - VSL_Flush
    - vmin_t
    - assert
    - DO_DEBUG
    - vsl_sanity
    - vsl_tag_is_masked
    - vsl_hdr
    linkageType: ''
    returnType: void
    signature: void VSLb_bin(struct vsl_log *vsl, enum VSL_tag_e tag, ssize_t len,
      const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:582,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:583,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:584,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:586,1
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - vsl
    - ptr
    - len
    argTypes:
    - struct vsl_log*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 594
    functionName: VSL_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - vsl_sanity
    linkageType: ''
    returnType: void
    signature: void VSL_Init(struct vsl_log *vsl, void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:600,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:601,1
    - Dst: VSL_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct vsl_log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 604
    functionName: VSL_Alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - VSL_Init
    - AN
    - malloc
    linkageType: ''
    returnType: void
    signature: void VSL_Alloc(struct vsl_log *vsl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:610,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:611,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:612,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct vsl_log*
    assertStmts:
    - condition: (vsl->flags & VSL_LOG_F_MALLOCED)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 614
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 614
    functionName: VSL_Free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - assert
    - free
    - memset
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSL_Free(struct vsl_log *vsl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:623,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:625,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:625,1
    - Dst: VSL_End
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:626,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:628,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - vsl
    - typ
    - why
    - vxid
    argTypes:
    - struct vsl_log*
    - char*
    - char*
    - vxid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 629
    functionName: VSL_ChgId
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - VXID
    - VSL_End
    - vsl_sanity
    - VSLb
    linkageType: ''
    returnType: void
    signature: void VSL_ChgId(struct vsl_log *vsl, const char *typ, const char *why,
      vxid_t vxid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsl_sanity
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:639,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:640,1
    - Dst: IS_NO_VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:640,1
    - Dst: VSLbt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:643,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct vsl_log*
    assertStmts:
    - condition: (!IS_NO_VXID(vsl->wid))
      pos:
        line_end: 639
        line_start: 639
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 7
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: VSL_End
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 1
    functionsReached:
    - VSL_Flush
    - assert
    - IS_NO_VXID
    - vsl_sanity
    - VSLbt
    linkageType: ''
    returnType: void
    signature: void VSL_End(struct vsl_log *vsl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:651,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 652
    functionName: vsm_vsc_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - PTOK
    linkageType: ''
    returnType: void
    signature: void vsm_vsc_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:657,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: vsm_vsc_unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void vsm_vsc_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:663,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: vsm_vsmw_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - PTOK
    linkageType: ''
    returnType: void
    signature: void vsm_vsmw_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:669,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: vsm_vsmw_unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void vsm_vsmw_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:679,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:681,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:681,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:682,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:682,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:683,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:683,1
    - Dst: VSMW_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:690,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:691,1
    - Dst: VSC_main_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:693,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:694,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:696,1
    - Dst: VSMW_Allocf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:697,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:699,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:706,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:710,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:716,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (UINT_MAX % VSL_SEGMENTS == VSL_SEGMENTS - 1)
      pos:
        line_end: 678
        line_start: 678
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    constantsTouched: []
    func_position:
      end: 718
      start: 674
    functionDepth: 6
    functionLinenumber: 674
    functionLinenumberEnd: 718
    functionName: VSM_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
    functionUses: 0
    functionsReached:
    - AN
    - VSMW_New
    - memcpy
    - VSC_main_New
    - memset
    - AZ
    - assert
    - PTOK
    - VWMB
    - pthread_mutex_init
    - VSMW_Allocf
    linkageType: ''
    returnType: void
    signature: void VSM_Init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:80,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:83,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:84,1
    - Dst: PAN_dump_oneline
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:86,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:92,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:97,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:104,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - vsb
    - privs
    argTypes:
    - struct vsb*
    - struct vrt_privs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 106
    functionName: pan_privs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VSB_printf
    - VSB_cat
    - PAN_dump_oneline
    linkageType: ''
    returnType: void
    signature: void pan_privs(struct vsb *vsb, const struct vrt_privs *privs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_oneline
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:86,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:92,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: VRBT_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - PAN_dump_oneline
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void VRBT_FOREACH(vp, vrt_privs, privs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRBT_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - privs
    argTypes:
    - struct vrt_privs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: VRTPRIV_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - VRBT_INIT
    linkageType: ''
    returnType: void
    signature: void VRTPRIV_init(struct vrt_privs *privs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vp1
    - vp2
    argTypes:
    - struct vrt_priv*
    - struct vrt_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: vrt_priv_dyncmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vrt_priv_dyncmp(const struct vrt_priv *vp1, const struct vrt_priv
      *vp2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VRBT_FIND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:135,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:139,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - privs
    - vmod_id
    argTypes:
    - struct vrt_privs*
    - uintptr_t
    assertStmts:
    - condition: (vp->vmod_id == vmod_id)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: vrt_priv_dynamic_get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - assert
    - VRBT_FIND
    - CHECK_OBJ
    linkageType: ''
    returnType: struct vmod_priv
    signature: 'struct vmod_priv *

      vrt_priv_dynamic_get(const struct vrt_privs *privs, uintptr_t vmod_id)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:151,1
    - Dst: LIKELY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:153,1
    - Dst: WS_ReserveSize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:153,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:154,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:158,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:161,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:163,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:166,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:169,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:173,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:175,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - ws
    - privs
    - vmod_id
    argTypes:
    - struct ws*
    - struct vrt_privs*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: vrt_priv_dynamic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - LIKELY
    - AN
    - INIT_OBJ
    - malloc
    - VRBT_INSERT
    - WS_Release
    - WS_ReserveSize
    - WRONG
    - WS_Reservation
    - free
    linkageType: ''
    returnType: struct vmod_priv
    signature: 'struct vmod_priv *

      vrt_priv_dynamic(struct ws *ws, struct vrt_privs *privs, uintptr_t vmod_id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:185,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:189,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:193,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:197,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: "(ctx->req == NULL || ctx->bo == NULL ||\n\t    ctx->method == VCL_MET_PIPE
        || ctx->method == 0)"
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    constantsTouched: []
    func_position:
      end: 202
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 202
    functionName: vrt_priv_task_context
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ
    - ASSERT_CLI
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct vrt_privs
    signature: 'struct vrt_privs *

      vrt_priv_task_context(VRT_CTX)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:207,1
    - Dst: vrt_priv_dynamic_get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:209,1
    - Dst: vrt_priv_task_context
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vmod_id
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: VRT_priv_task_get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - vrt_priv_dynamic_get
    - CHECK_OBJ_NOTNULL
    - vrt_priv_task_context
    linkageType: ''
    returnType: struct vmod_priv
    signature: 'struct vmod_priv *

      VRT_priv_task_get(VRT_CTX, const void *vmod_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:218,1
    - Dst: vrt_priv_dynamic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:220,1
    - Dst: vrt_priv_task_context
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vmod_id
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: VRT_priv_task
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - vrt_priv_dynamic
    - CHECK_OBJ_NOTNULL
    - vrt_priv_task_context
    linkageType: ''
    returnType: struct vmod_priv
    signature: 'struct vmod_priv *

      VRT_priv_task(VRT_CTX, const void *vmod_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - req
    - ','
    - sp
    - ','
    - top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 249
    functionName: VRT_PRIV_TOP_PREP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_PRIV_TOP_PREP(ctx, req, sp, top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_PRIV_TOP_PREP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:258,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:260,1
    - Dst: vrt_priv_dynamic_get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:261,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vmod_id
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: VRT_priv_top_get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - vrt_priv_dynamic_get
    - Lck_Unlock
    - Lck_Lock
    - VRT_PRIV_TOP_PREP
    linkageType: ''
    returnType: struct vmod_priv
    signature: 'struct vmod_priv *

      VRT_priv_top_get(VRT_CTX, const void *vmod_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_PRIV_TOP_PREP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:274,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:276,1
    - Dst: vrt_priv_dynamic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:277,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vmod_id
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 280
    functionName: VRT_priv_top
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - vrt_priv_dynamic
    - Lck_Unlock
    - Lck_Lock
    - VRT_PRIV_TOP_PREP
    linkageType: ''
    returnType: struct vmod_priv
    signature: 'struct vmod_priv *

      VRT_priv_top(VRT_CTX, const void *vmod_id)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:290,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:296,1
    - Dst: VRT_CTX_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:301,1
    - Dst: struct vmod_priv_methods*::fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:303,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_priv*
    assertStmts:
    - condition: (ctx->vpi->handling == 0 || ctx->vpi->handling == VCL_RET_FAIL)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    constantsTouched: []
    func_position:
      end: 305
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 305
    functionName: VRT_priv_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRT_CTX_Assert
    - assert
    - struct vmod_priv_methods*::fini
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void VRT_priv_fini(VRT_CTX, const struct vmod_priv *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRTPRIV_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - privs
    argTypes:
    - struct vrt_privs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: VCL_TaskEnter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 2
    functionsReached:
    - VRTPRIV_init
    linkageType: ''
    returnType: void
    signature: void VCL_TaskEnter(struct vrt_privs *privs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:321,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:323,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:331,1
    - Dst: VRT_priv_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:332,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:334,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - privs
    argTypes:
    - struct vrt_privs*
    assertStmts:
    - condition: (ctx->vpi->handling == 0 || ctx->vpi->handling == VCL_RET_FAIL)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    constantsTouched: []
    func_position:
      end: 337
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 337
    functionName: VCL_TaskLeave
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VRT_priv_fini
    - assert
    - ZERO_OBJ
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void VCL_TaskLeave(VRT_CTX, struct vrt_privs *privs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:331,1
    - Dst: VRT_priv_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:332,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: VRBT_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ
    - free
    - VRT_priv_fini
    linkageType: ''
    returnType: void
    signature: void VRBT_FOREACH_SAFE(vp, vrt_privs, privs, vp1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:97,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:98,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: obj_getmethods
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct obj_methods
    signature: 'struct obj_methods *

      obj_getmethods(const struct objcore *oc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:108,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:109,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:110,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:111,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: obj_newboc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - PTOK
    - pthread_cond_init
    - ALLOC_OBJ
    - Lck_New
    linkageType: ''
    returnType: struct boc
    signature: 'struct boc *

      obj_newboc(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:121,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:122,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:123,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:123,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:124,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct boc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: obj_deleteboc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - Lck_Delete
    - PTOK
    - free
    linkageType: ''
    returnType: void
    signature: void obj_deleteboc(struct boc **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:138,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:140,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:141,1
    - Dst: obj_newboc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 147
    functionName: ObjNew
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - AN
    - ALLOC_OBJ
    - CHECK_OBJ_NOTNULL
    - obj_newboc
    linkageType: ''
    returnType: struct objcore
    signature: 'struct objcore *

      ObjNew(const struct worker *wrk)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:159,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:160,1
    - Dst: obj_deleteboc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:162,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - wrk
    - p
    argTypes:
    - struct worker*
    - struct objcore**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: ObjDestroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - obj_deleteboc
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ObjDestroy(const struct worker *wrk, struct objcore **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:176,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:178,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:179,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:180,1
    - Dst: struct obj_methods*::objiterator
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - wrk
    - oc
    - priv
    - func
    - final
    argTypes:
    - struct worker*
    - struct objcore*
    - void*
    - objiterate_f*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: ObjIterate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - obj_getmethods
    - AN
    - struct obj_methods*::objiterator
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: "int ObjIterate(struct worker *wrk, struct objcore *oc,\n    void *priv,
      objiterate_f *func, int final)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:261,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:263,1
    - Dst: struct obj_methods*::vai_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - wrk
    - oc
    - ws
    - cb
    - cb_priv
    argTypes:
    - struct worker*
    - struct objcore*
    - struct ws*
    - vai_notify_cb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: ObjVAIinit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - obj_getmethods
    - struct obj_methods*::vai_init
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: vai_hdl
    signature: "vai_hdl ObjVAIinit(struct worker *wrk, struct objcore *oc, struct
      ws *ws,\n    vai_notify_cb *cb, void *cb_priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:276,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:277,1
    - Dst: struct vai_hdl_preamble*::vai_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scarab
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts:
    - condition: (vaip->magic2 == VAI_HDL_PREAMBLE_MAGIC2)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: ObjVAIlease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - assert
    - struct vai_hdl_preamble*::vai_lease
    - AN
    linkageType: ''
    returnType: int
    signature: int ObjVAIlease(struct worker *wrk, vai_hdl vhdl, struct vscarab *scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:287,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:288,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:289,1
    - Dst: struct vai_hdl_preamble*::vai_buffer
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:290,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scarab
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscarab*
    assertStmts:
    - condition: (vaip->magic2 == VAI_HDL_PREAMBLE_MAGIC2)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    - condition: (r != 0)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: ObjVAIbuffer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - struct vai_hdl_preamble*::vai_buffer
    linkageType: ''
    returnType: int
    signature: int ObjVAIbuffer(struct worker *wrk, vai_hdl vhdl, struct vscarab *scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:301,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:302,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:303,1
    - Dst: struct vai_hdl_preamble*::vai_return
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - wrk
    - vhdl
    - scaret
    argTypes:
    - struct worker*
    - vai_hdl
    - struct vscaret*
    assertStmts:
    - condition: (vaip->magic2 == VAI_HDL_PREAMBLE_MAGIC2)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: ObjVAIreturn
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 3
    functionsReached:
    - assert
    - AN
    - struct vai_hdl_preamble*::vai_return
    linkageType: ''
    returnType: void
    signature: void ObjVAIreturn(struct worker *wrk, vai_hdl vhdl, struct vscaret
      *scaret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:312,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:313,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:314,1
    - Dst: struct vai_hdl_preamble*::vai_notify
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wrk
    - vhdl
    argTypes:
    - struct worker*
    - vai_hdl
    assertStmts:
    - condition: (vaip->magic2 == VAI_HDL_PREAMBLE_MAGIC2)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: ObjVAInotify
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - struct vai_hdl_preamble*::vai_notify
    - AN
    linkageType: ''
    returnType: void
    signature: void ObjVAInotify(struct worker *wrk, vai_hdl vhdl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:321,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:325,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:326,1
    - Dst: struct vai_hdl_preamble*::vai_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - wrk
    - vhdlp
    argTypes:
    - struct worker*
    - vai_hdl*
    assertStmts:
    - condition: (vaip->magic2 == VAI_HDL_PREAMBLE_MAGIC2)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: ObjVAIfini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - assert
    - AN
    - struct vai_hdl_preamble*::vai_fini
    linkageType: ''
    returnType: void
    signature: void ObjVAIfini(struct worker *wrk, vai_hdl *vhdlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:343,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:345,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:346,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:347,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:348,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:349,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:351,1
    - Dst: struct obj_methods*::objgetspace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - wrk
    - oc
    - sz
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t*
    - uint8_t**
    assertStmts:
    - condition: (*sz >= 0)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 353
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 353
    functionName: ObjGetSpace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - struct obj_methods*::objgetspace
    - CHECK_OBJ_NOTNULL
    - assert
    - obj_getmethods
    linkageType: ''
    returnType: int
    signature: int ObjGetSpace(struct worker *wrk, struct objcore *oc, ssize_t *sz,
      uint8_t **ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:372,1
    - Dst: Lck_CondWait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts:
    - condition: (oc->flags & OC_F_TRANSIENT)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: obj_extend_condwait
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - Lck_CondWait
    linkageType: ''
    returnType: void
    signature: void obj_extend_condwait(const struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:385,1
    - Dst: pthread_cond_broadcast
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:385,1
    - Dst: VSLIST_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:386,1
    - Dst: VSLIST_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:387,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:389,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:390,1
    - Dst: VSLIST_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:392,1
    - Dst: VSLIST_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:393,1
    - Dst: struct vai_qe*::cb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - boc
    argTypes:
    - struct boc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 397
    functionName: obj_boc_notify
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - pthread_cond_broadcast
    - PTOK
    - VSLIST_NEXT
    - VSLIST_FIRST
    - CHECK_OBJ
    - struct vai_qe*::cb
    linkageType: ''
    returnType: void
    signature: void obj_boc_notify(struct boc *boc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:402,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:404,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:405,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:406,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:407,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:410,1
    - Dst: obj_extend_condwait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:411,1
    - Dst: struct obj_methods*::objextend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:412,1
    - Dst: obj_boc_notify
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:414,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:415,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:423,1
    - Dst: struct obj_methods*::objtrimstore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - wrk
    - oc
    - l
    - final
    argTypes:
    - struct worker*
    - struct objcore*
    - ssize_t
    - int
    assertStmts:
    - condition: (l >= 0)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    - condition: (oc->boc->state < BOS_FINISHED)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 426
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 426
    functionName: ObjExtend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - obj_extend_condwait
    - struct obj_methods*::objextend
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - struct obj_methods*::objtrimstore
    - obj_getmethods
    - obj_boc_notify
    linkageType: ''
    returnType: void
    signature: void ObjExtend(struct worker *wrk, struct objcore *oc, ssize_t l, int
      final)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:435,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:438,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - oc
    - l
    argTypes:
    - struct objcore*
    - uint64_t
    assertStmts:
    - condition: (oc->flags & OC_F_TRANSIENT)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: objSignalFetchLocked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - PTOK
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void objSignalFetchLocked(const struct objcore *oc, uint64_t l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:449,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:450,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:451,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:452,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:455,1
    - Dst: objSignalFetchLocked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:457,1
    - Dst: Lck_CondWait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:460,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - wrk
    - oc
    - l
    - statep
    argTypes:
    - struct worker*
    - struct objcore*
    - uint64_t
    - enum boc_state_e*
    assertStmts:
    - condition: (l <= rv || oc->boc->state == BOS_FAILED)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 466
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 466
    functionName: ObjWaitExtend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - objSignalFetchLocked
    - Lck_Lock
    - Lck_CondWait
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t ObjWaitExtend(const struct worker *wrk, const struct objcore
      *oc, uint64_t l,\n    enum boc_state_e *statep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:477,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:478,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:479,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:480,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:482,1
    - Dst: objSignalFetchLocked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:484,1
    - Dst: VSLIST_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:488,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - wrk
    - oc
    - l
    - statep
    - qe
    argTypes:
    - struct worker*
    - struct objcore*
    - uint64_t
    - enum boc_state_e*
    - struct vai_qe*
    assertStmts:
    - condition: (l <= rv || oc->boc->state == BOS_FAILED)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 494
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 494
    functionName: ObjVAIGetExtend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - objSignalFetchLocked
    - Lck_Lock
    - VSLIST_INSERT_HEAD
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t ObjVAIGetExtend(struct worker *wrk, const struct objcore
      *oc, uint64_t l,\n    enum boc_state_e *statep, struct vai_qe *qe)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:501,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:502,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:504,1
    - Dst: VSLIST_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:507,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - wrk
    - boc
    - qe
    argTypes:
    - struct worker*
    - struct boc*
    - struct vai_qe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 510
    functionName: ObjVAICancel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - VSLIST_REMOVE
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ObjVAICancel(struct worker *wrk, struct boc *boc, struct vai_qe
      *qe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:521,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:522,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:523,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:525,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:526,1
    - Dst: struct obj_methods*::objsetstate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:531,1
    - Dst: HSH_Fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:535,1
    - Dst: HSH_Unbusy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:537,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:539,1
    - Dst: obj_boc_notify
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:542,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - wrk
    - oc
    - next
    - broadcast
    argTypes:
    - struct worker*
    - struct objcore*
    - enum boc_state_e
    - unsigned
    assertStmts:
    - condition: (next > oc->boc->state)
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    - condition: (next != BOS_FINISHED || (oc->oa_present & (1 << OA_LEN)))
      pos:
        line_end: 525
        line_start: 525
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 544
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 544
    functionName: ObjSetState
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ_NOTNULL
    - HSH_Unbusy
    - assert
    - Lck_Lock
    - struct obj_methods*::objsetstate
    - obj_boc_notify
    - HSH_Fail
    linkageType: ''
    returnType: void
    signature: "void ObjSetState(struct worker *wrk, struct objcore *oc, enum boc_state_e
      next,\n    unsigned broadcast)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:554,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:555,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:557,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:560,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:560,1
    - Dst: Lck_CondWait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:564,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - oc
    - want
    argTypes:
    - struct objcore*
    - enum boc_state_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 570
    functionName: ObjWaitState
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - PTOK
    - Lck_Lock
    - Lck_CondWait
    - pthread_cond_signal
    linkageType: ''
    returnType: enum boc_state_e
    signature: enum boc_state_e ObjWaitState(const struct objcore *oc, enum boc_state_e
      want)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:583,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:585,1
    - Dst: ObjGetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 587
    functionName: ObjGetLen
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - ObjGetU64
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t ObjGetLen(struct worker *wrk, struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:599,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:601,1
    - Dst: struct obj_methods*::objslim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: ObjSlim
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - struct obj_methods*::objslim
    - obj_getmethods
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ObjSlim(struct worker *wrk, struct objcore *oc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:617,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:618,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:619,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:620,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:621,1
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:623,1
    - Dst: struct obj_methods*::objbocdone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:625,1
    - Dst: obj_deleteboc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - wrk
    - oc
    - boc
    argTypes:
    - struct worker*
    - struct objcore*
    - struct boc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 628
    functionName: ObjBocDone
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ_NOTNULL
    - struct obj_methods*::objbocdone
    - obj_deleteboc
    - obj_getmethods
    linkageType: ''
    returnType: void
    signature: void ObjBocDone(struct worker *wrk, struct objcore *oc, struct boc
      **boc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:635,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:637,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:639,1
    - Dst: struct obj_methods*::objfree
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:640,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 642
    functionName: ObjFreeObj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - struct obj_methods*::objfree
    - obj_getmethods
    linkageType: ''
    returnType: void
    signature: void ObjFreeObj(struct worker *wrk, struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:654,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:655,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - wrk
    - oc
    - attr
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 662
    functionName: ObjHasAttr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - ObjGetAttr
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int ObjHasAttr(struct worker *wrk, struct objcore *oc, enum obj_attr
      attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:678,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:680,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:682,1
    - Dst: struct obj_methods*::objgetattr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - wrk
    - oc
    - attr
    - len
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 684
    functionName: ObjGetAttr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - struct obj_methods*::objgetattr
    - obj_getmethods
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void *\nObjGetAttr(struct worker *wrk, struct objcore *oc, enum obj_attr
      attr,\n   ssize_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:712,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:715,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:716,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:718,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:719,1
    - Dst: struct obj_methods*::objsetattr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - wrk
    - oc
    - attr
    - len
    - ptr
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - ssize_t
    - void*
    assertStmts:
    - condition: ((int)attr < 16)
      pos:
        line_end: 718
        line_start: 718
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 724
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 724
    functionName: ObjSetAttr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - struct obj_methods*::objsetattr
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - obj_getmethods
    linkageType: ''
    returnType: void
    signature: "void *\nObjSetAttr(struct worker *wrk, struct objcore *oc, enum obj_attr
      attr,\n    ssize_t len, const void *ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_getmethods
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:733,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:735,1
    - Dst: struct obj_methods*::objtouch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - wrk
    - oc
    - now
    argTypes:
    - struct worker*
    - struct objcore*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: ObjTouch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - obj_getmethods
    - struct obj_methods*::objtouch
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ObjTouch(struct worker *wrk, struct objcore *oc, vtim_real now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:752,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:753,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:754,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:755,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:757,1
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - wrk
    - oc
    - ocs
    - attr
    argTypes:
    - struct worker*
    - struct objcore*
    - struct objcore*
    - enum obj_attr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 765
    functionName: ObjCopyAttr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - ObjSetAttr
    - ObjGetAttr
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: "int ObjCopyAttr(struct worker *wrk, struct objcore *oc, struct objcore
      *ocs,\n    enum obj_attr attr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:772,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:773,1
    - Dst: ObjSetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wrk
    - oc
    - xid
    argTypes:
    - struct worker*
    - struct objcore*
    - vxid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: ObjSetXID
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - ObjSetU64
    - VXID
    - AZ
    linkageType: ''
    returnType: int
    signature: int ObjSetXID(struct worker *wrk, struct objcore *oc, vxid_t xid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:783,1
    - Dst: ObjGetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 785
    functionName: ObjGetXID
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - ObjGetU64
    - AZ
    linkageType: ''
    returnType: vxid_t
    signature: vxid_t ObjGetXID(struct worker *wrk, struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:801,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:802,1
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:803,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - wrk
    - oc
    - a
    - t
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - double
    assertStmts:
    - condition: (sizeof t == sizeof u)
      pos:
        line_end: 800
        line_start: 800
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 808
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 808
    functionName: ObjSetDouble
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - ObjSetAttr
    - memcpy
    - vbe64enc
    linkageType: ''
    returnType: int
    signature: int ObjSetDouble(struct worker *wrk, struct objcore *oc, enum obj_attr
      a, double t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:817,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:818,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:822,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:823,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - wrk
    - oc
    - a
    - d
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - double*
    assertStmts:
    - condition: (sizeof *d == sizeof u)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    - condition: (l == sizeof u)
      pos:
        line_end: 821
        line_start: 821
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    constantsTouched: []
    func_position:
      end: 827
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 827
    functionName: ObjGetDouble
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - ObjGetAttr
    - memcpy
    - vbe64dec
    linkageType: ''
    returnType: int
    signature: int ObjGetDouble(struct worker *wrk, struct objcore *oc, enum obj_attr
      a, double *d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:837,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - wrk
    - oc
    - a
    - t
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 842
    functionName: ObjSetU64
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - ObjSetAttr
    - vbe64enc
    linkageType: ''
    returnType: int
    signature: int ObjSetU64(struct worker *wrk, struct objcore *oc, enum obj_attr
      a, uint64_t t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:850,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - wrk
    - oc
    - a
    - d
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_attr
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 856
    functionName: ObjGetU64
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 2
    functionsReached:
    - vbe64dec
    - ObjGetAttr
    linkageType: ''
    returnType: int
    signature: int ObjGetU64(struct worker *wrk, struct objcore *oc, enum obj_attr
      a, uint64_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:866,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - wrk
    - oc
    - of
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 869
    functionName: ObjCheckFlag
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - ObjGetAttr
    linkageType: ''
    returnType: int
    signature: int ObjCheckFlag(struct worker *wrk, struct objcore *oc, enum obj_flags
      of)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:876,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - wrk
    - oc
    - of
    - val
    argTypes:
    - struct worker*
    - struct objcore*
    - enum obj_flags
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 882
    functionName: ObjSetFlag
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - ObjSetAttr
    - AN
    linkageType: ''
    returnType: void
    signature: void ObjSetFlag(struct worker *wrk, struct objcore *oc, enum obj_flags
      of, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:912,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:913,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:915,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:916,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:920,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:920,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:921,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:923,1
    - Dst: pthread_rwlock_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - func
    - priv
    - mask
    argTypes:
    - obj_event_f*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 925
    functionName: ObjSubscribeEvents
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 1
    functionsReached:
    - AN
    - pthread_rwlock_wrlock
    - pthread_rwlock_unlock
    - AZ
    - PTOK
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t ObjSubscribeEvents(obj_event_f *func, void *priv, unsigned
      mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:933,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:934,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:935,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:935,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:936,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:937,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:943,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:944,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:946,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:947,1
    - Dst: pthread_rwlock_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:947,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uintptr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 950
    functionName: ObjUnsubscribeEvents
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - pthread_rwlock_wrlock
    - FREE_OBJ
    - pthread_rwlock_unlock
    - AZ
    - PTOK
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void ObjUnsubscribeEvents(uintptr_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:957,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:958,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:959,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:960,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:964,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:964,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:965,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:966,1
    - Dst: struct oev_entry*::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:968,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:970,1
    - Dst: pthread_rwlock_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - wrk
    - oc
    - event
    argTypes:
    - struct worker*
    - struct objcore*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 972
    functionName: ObjSendEvent
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - pthread_rwlock_rdlock
    - CHECK_OBJ_NOTNULL
    - pthread_rwlock_unlock
    - AZ
    - PTOK
    - struct oev_entry*::func
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void ObjSendEvent(struct worker *wrk, struct objcore *oc, unsigned
      event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:977,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:978,1
    - Dst: pthread_rwlock_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 979
    functionName: ObjInit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    functionUses: 0
    functionsReached:
    - PTOK
    - VTAILQ_INIT
    - pthread_rwlock_init
    linkageType: ''
    returnType: void
    signature: void ObjInit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MPL_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:52,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: VBO_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    functionUses: 0
    functionsReached:
    - AN
    - MPL_New
    linkageType: ''
    returnType: void
    signature: void VBO_Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:69,1
    - Dst: MPL_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:71,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:72,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:78,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:79,1
    - Dst: HTTP_estimate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:82,1
    - Dst: HTTP_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:84,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:86,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:87,1
    - Dst: HTTP_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:89,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:91,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:92,1
    - Dst: HTTP_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:94,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:96,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:97,1
    - Dst: VSL_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:100,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:101,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:103,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:104,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:108,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:109,1
    - Dst: WS_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:111,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:116,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:117,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:120,1
    - Dst: VCL_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:122,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (p < bo->end)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    - condition: (p < bo->end)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    - condition: (p < bo->end)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    - condition: (p < bo->end)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    - condition: (p < bo->end)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    constantsTouched: []
    func_position:
      end: 132
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 132
    functionName: VBO_GetBusyObj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    functionUses: 0
    functionsReached:
    - MPL_Get
    - VXID_Get
    - HTTP_estimate
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - WS_Copy
    - VCL_Ref
    - memcpy
    - assert
    - VRT_Assign_Backend
    - HTTP_create
    - PRNDUP
    - XXXAN
    - WS_Init
    - VSL_Init
    linkageType: ''
    returnType: struct busyobj
    signature: 'struct busyobj *

      VBO_GetBusyObj(const struct worker *wrk, const struct req *req)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:139,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:140,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:141,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:143,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:144,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:146,1
    - Dst: VSL_End
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:154,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:156,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:160,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:163,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:164,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:165,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:167,1
    - Dst: MPL_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - wrk
    - pbo
    argTypes:
    - struct worker*
    - struct busyobj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 134
    functionDepth: 8
    functionLinenumber: 134
    functionLinenumberEnd: 171
    functionName: VBO_ReleaseBusyObj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    functionUses: 0
    functionsReached:
    - WS_Rollback
    - WS_Overflowed
    - TAKE_OBJ_NOTNULL
    - VCL_Rel
    - CHECK_OBJ_NOTNULL
    - HSH_DerefObjCore
    - VSL_End
    - MPL_Free
    - AZ
    - VRT_Assign_Backend
    - CHECK_OBJ_ORNULL
    - VSLb
    linkageType: ''
    returnType: void
    signature: void VBO_ReleaseBusyObj(struct worker *wrk, struct busyobj **pbo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:178,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:179,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:183,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:188,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:189,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:206,1
    - Dst: ObjSetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - wrk
    - bo
    - next
    argTypes:
    - struct worker*
    - struct busyobj*
    - enum boc_state_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 210
    functionName: VBO_SetState
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
    functionUses: 0
    functionsReached:
    - ObjSetState
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - WRONG
    linkageType: ''
    returnType: void
    signature: void VBO_SetState(struct worker *wrk, struct busyobj *bo, enum boc_state_e
      next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:56,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:58,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:59,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vc
    - fmt
    argTypes:
    - struct vfp_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: VFP_Error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 5
    functionsReached:
    - va_end
    - VSLbv
    - va_start
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: enum vfp_status
    signature: enum vfp_status VFP_Error(struct vfp_ctx *vc, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:75,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:76,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:77,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:78,1
    - Dst: ObjGetSpace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:83,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:86,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:88,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - vc
    - sz
    - ptr
    argTypes:
    - struct vfp_ctx*
    - ssize_t*
    - uint8_t**
    assertStmts:
    - condition: (*sz >= 0)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    - condition: (*sz > 0)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 8
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: VFP_GetStorage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - ObjGetSpace
    - assert
    - VFP_Error
    linkageType: ''
    returnType: enum vfp_status
    signature: enum vfp_status VFP_GetStorage(struct vfp_ctx *vc, ssize_t *sz, uint8_t
      **ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:96,1
    - Dst: ObjExtend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vc
    - sz
    - flg
    argTypes:
    - struct vfp_ctx*
    - ssize_t
    - enum vfp_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: VFP_Extend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 0
    functionsReached:
    - ObjExtend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VFP_Extend(const struct vfp_ctx *vc, ssize_t sz, enum vfp_status
      flg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:108,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vc
    - wrk
    argTypes:
    - struct vfp_ctx*
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: VFP_Setup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - INIT_OBJ
    linkageType: ''
    returnType: void
    signature: void VFP_Setup(struct vfp_ctx *vc, struct worker *wrk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:123,1
    - Dst: struct vfp_entry*::vfp::fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:125,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:127,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - vc
    argTypes:
    - struct vfp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: VFP_Close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 0
    functionsReached:
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - VSLb
    - struct vfp_entry*::vfp::fini
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VFP_Close(struct vfp_ctx *vc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:139,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:140,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:141,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:142,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:143,1
    - Dst: VTAILQ_FOREACH_REVERSE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:145,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:148,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:149,1
    - Dst: struct vfp_entry*::vfp::init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:151,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:153,1
    - Dst: VFP_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - vc
    argTypes:
    - struct vfp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 134
    functionDepth: 8
    functionLinenumber: 134
    functionLinenumberEnd: 161
    functionName: VFP_Open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 0
    functionsReached:
    - VFP_Close
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_FOREACH_REVERSE
    - struct vfp_entry*::vfp::init
    - DO_DEBUG
    - VFP_Error
    - VSLb
    linkageType: ''
    returnType: int
    signature: int VFP_Open(VRT_CTX, struct vfp_ctx *vc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:177,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:178,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:179,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:182,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:183,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:185,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:191,1
    - Dst: VFP_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:192,1
    - Dst: struct vfp_entry*::vfp::pull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:194,1
    - Dst: VFP_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:195,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:198,1
    - Dst: VFP_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:208,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - vc
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - void*
    - ssize_t*
    assertStmts:
    - condition: (vp != VFP_NULL)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    constantsTouched: []
    func_position:
      end: 213
      start: 169
    functionDepth: 8
    functionLinenumber: 169
    functionLinenumberEnd: 213
    functionName: VFP_Suck
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 1
    functionsReached:
    - AN
    - struct vfp_entry*::vfp::pull
    - CHECK_OBJ_NOTNULL
    - VFP_Suck
    - assert
    - VTAILQ_PREV
    - VTAILQ_NEXT
    - VFP_Error
    - VFP_DEBUG
    linkageType: ''
    returnType: enum vfp_status
    signature: enum vfp_status VFP_Suck(struct vfp_ctx *vc, void *p, ssize_t *lp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:223,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:224,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:226,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:228,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:232,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - vc
    - vfp
    argTypes:
    - struct vfp_ctx*
    - struct vfp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 8
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: VFP_Push
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 2
    functionsReached:
    - VTAILQ_INSERT_HEAD
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - WS_Alloc
    - VFP_Error
    linkageType: ''
    returnType: struct vfp_entry
    signature: 'struct vfp_entry *

      VFP_Push(struct vfp_ctx *vc, const struct vfp *vfp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: debug_fragfetch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 0
    functionsReached:
    - strtoul
    linkageType: ''
    returnType: void
    signature: void debug_fragfetch(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: VFP_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
    functionUses: 0
    functionsReached:
    - CLI_AddFuncs
    linkageType: ''
    returnType: void
    signature: void VFP_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:44,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:45,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ws
    - id
    argTypes:
    - struct ws*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: WS_Id
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - memcpy
    linkageType: ''
    returnType: void
    signature: void WS_Id(const struct ws *ws, char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: WS_MarkOverflow
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 3
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void WS_MarkOverflow(struct ws *ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: ws_ClearOverflow
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ws_ClearOverflow(struct ws *ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:69,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: WS_Overflowed
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 7
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int WS_Overflowed(const struct ws *ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:87,1
    - Dst: ws_ClearOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:91,1
    - Dst: WS_Reset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ws
    - pp
    argTypes:
    - struct ws*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: WS_Rollback
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 5
    functionsReached:
    - WS_Reset
    - WS_Assert
    - ws_ClearOverflow
    linkageType: ''
    returnType: void
    signature: void WS_Rollback(struct ws *ws, uintptr_t pp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:104,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:106,1
    - Dst: vsnprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:107,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:108,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:110,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:111,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ws
    - fmt
    argTypes:
    - struct ws*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: WS_Printf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 0
    functionsReached:
    - WS_Release
    - vsnprintf
    - WS_ReserveAll
    - WS_MarkOverflow
    - va_start
    - va_end
    linkageType: ''
    returnType: char
    signature: 'char *

      WS_Printf(struct ws *ws, const char *fmt, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:139,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:140,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:141,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:142,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:143,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:143,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:145,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:145,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vsb
    - ws
    argTypes:
    - struct vsb*
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: WS_VSB_new
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 1
    functionsReached:
    - WS_Overflowed
    - WS_Assert
    - AN
    - VSB_init
    - WS_ReserveAll
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void WS_VSB_new(struct vsb *vsb, struct ws *ws)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:153,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:154,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:155,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:156,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:158,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:158,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:160,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:161,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:165,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:166,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - vsb
    - ws
    - szp
    argTypes:
    - struct vsb*
    - struct ws*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: WS_VSB_finish
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
    functionUses: 1
    functionsReached:
    - WS_Assert
    - AN
    - WS_Release
    - VSB_fini
    - VSB_finish
    - WS_MarkOverflow
    - VSB_len
    - VSB_data
    linkageType: ''
    returnType: char
    signature: 'char *

      WS_VSB_finish(struct vsb *vsb, struct ws *ws, size_t *szp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: VCF_RETURN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCF_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:102,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:103,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:106,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:107,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - oh
    argTypes:
    - struct objhead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: hsh_initobjhead
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - XXXAN
    - INIT_OBJ
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void hsh_initobjhead(struct objhead *oh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:114,1
    - Dst: hsh_initobjhead
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: hsh_newobjhead
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - hsh_initobjhead
    - malloc
    linkageType: ''
    returnType: struct objhead
    signature: 'struct objhead *

      hsh_newobjhead(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:125,1
    - Dst: ObjNew
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:128,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:129,1
    - Dst: hsh_newobjhead
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:132,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:135,1
    - Dst: prep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: hsh_prealloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - ObjNew
    - prep
    - CHECK_OBJ_NOTNULL
    - hsh_newobjhead
    linkageType: ''
    returnType: void
    signature: void hsh_prealloc(struct worker *wrk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - n
    - bits
    argTypes:
    - uint64_t
    - uint8_t
    assertStmts:
    - condition: (r < (size_t)1 << bits)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: fib
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t fib(uint64_t n, uint8_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fib
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:162,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:163,1
    - Dst: ObjNew
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:165,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:166,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:170,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:171,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: HSH_Private
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - fib
    - ObjNew
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: struct objcore
    signature: 'struct objcore *

      HSH_Private(const struct worker *wrk)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:183,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:184,1
    - Dst: ObjDestroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:186,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:189,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:190,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:191,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: HSH_Cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - Lck_Delete
    - ObjDestroy
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void HSH_Cleanup(const struct worker *wrk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:204,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:205,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:207,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:208,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:208,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:209,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:209,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:210,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - wrk
    - oh
    argTypes:
    - struct worker*
    - struct objhead*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&oh->objcs))
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (VTAILQ_EMPTY(&oh->waitinglist))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: HSH_DeleteObjHead
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 3
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - Lck_Delete
    - FREE_OBJ
    - AZ
    - assert
    linkageType: ''
    returnType: void
    signature: void HSH_DeleteObjHead(const struct worker *wrk, struct objhead *oh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:219,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:220,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:222,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:222,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:223,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:223,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - req
    - ctx
    - str
    argTypes:
    - struct req*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 6
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: HSH_AddString
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSHA256_Update
    - VSLbs
    - strlen
    - TOSTRAND
    linkageType: ''
    returnType: void
    signature: void HSH_AddString(struct req *req, void *ctx, const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:286,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:289,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:292,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:293,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:295,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:296,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:297,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:299,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - result
    argTypes:
    - void*
    assertStmts:
    - condition: (i < HSH_NMAGIC)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 301
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 301
    functionName: hsh_testmagic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    - memcmp
    - memcpy
    linkageType: ''
    returnType: void
    signature: void hsh_testmagic(void *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:316,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:317,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:318,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:319,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:320,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:321,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:323,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:324,1
    - Dst: hsh_prealloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:326,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:328,1
    - Dst: lookup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:329,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:330,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:331,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:332,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:337,1
    - Dst: EXP_RefNewObjcore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:338,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:339,1
    - Dst: BAN_RefBan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:341,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:342,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:346,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:347,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:348,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:349,1
    - Dst: hsh_rush1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:350,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:351,1
    - Dst: hsh_rush2
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:352,1
    - Dst: EXP_Insert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 4
    argNames:
    - wrk
    - digest
    - oc
    - ban
    argTypes:
    - struct worker*
    - void*
    - struct objcore*
    - struct ban*
    assertStmts:
    - condition: (oc->refcnt == 1)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 355
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 355
    functionName: HSH_Insert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - hsh_rush2
    - lookup
    - VTAILQ_INSERT_TAIL
    - AN
    - EXP_Insert
    - VTAILQ_EMPTY
    - hsh_prealloc
    - Lck_Lock
    - VTAILQ_REMOVE
    - EXP_RefNewObjcore
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VTAILQ_INSERT_HEAD
    - BAN_RefBan
    - AZ
    - assert
    - Lck_AssertHeld
    - Lck_Unlock
    - hsh_rush1
    linkageType: ''
    returnType: void
    signature: "void HSH_Insert(struct worker *wrk, const void *digest, struct objcore
      *oc,\n    struct ban *ban)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:365,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:366,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:367,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:368,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:372,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:374,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - wrk
    - oh
    argTypes:
    - struct worker*
    - struct objhead*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 380
    functionName: hsh_insert_busyobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - Lck_AssertHeld
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: struct objcore
    signature: 'struct objcore *

      hsh_insert_busyobj(const struct worker *wrk, struct objhead *oh)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ObjHasAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:392,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:394,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:395,1
    - Dst: VRY_Match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - req
    - oc
    - vary
    argTypes:
    - struct req*
    - struct objcore*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: hsh_vry_match
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - VRY_Match
    - AN
    - ObjGetAttr
    - ObjHasAttr
    linkageType: ''
    returnType: int
    signature: int hsh_vry_match(const struct req *req, struct objcore *oc, const
      uint8_t *vary)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:406,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:407,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:409,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:410,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:418,1
    - Dst: hsh_vry_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 421
      start: 400
    functionDepth: 4
    functionLinenumber: 400
    functionLinenumberEnd: 421
    functionName: hsh_rush_match
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - assert
    - hsh_vry_match
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: unsigned
    signature: unsigned hsh_rush_match(const struct req *req)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:442,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:444,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:447,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:449,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:450,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:451,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:452,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:453,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:454,1
    - Dst: hsh_prealloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:456,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:457,1
    - Dst: hsh_testmagic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:458,1
    - Dst: hsh_rush_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:466,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:467,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:470,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:473,1
    - Dst: hsh_deref_objhead_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:473,1
    - Dst: Req_LogHit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:474,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:485,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:486,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:488,1
    - Dst: lookup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:489,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:492,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:493,1
    - Dst: hsh_insert_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:498,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:500,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:504,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:510,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:512,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:513,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:514,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:515,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:522,1
    - Dst: hsh_vry_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:528,1
    - Dst: BAN_CheckObject
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:541,1
    - Dst: EXP_Remove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:543,1
    - Dst: hsh_vry_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:547,1
    - Dst: BAN_CheckObject
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:553,1
    - Dst: EXP_Remove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:555,1
    - Dst: struct req*::vcf::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:560,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:569,1
    - Dst: EXP_Ttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:572,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:573,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:574,1
    - Dst: EXP_Ttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:578,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:583,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:584,1
    - Dst: struct req*::vcf::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:589,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:592,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:592,1
    - Dst: EXP_Dttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:593,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:594,1
    - Dst: hsh_deref_objhead_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:594,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:596,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:604,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:604,1
    - Dst: EXP_Dttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:605,1
    - Dst: hsh_insert_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:606,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:607,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:609,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:614,1
    - Dst: hsh_deref_objhead_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:614,1
    - Dst: Req_LogHit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:615,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:626,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:626,1
    - Dst: EXP_Dttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:627,1
    - Dst: hsh_insert_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:628,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:629,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:631,1
    - Dst: hsh_insert_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:641,1
    - Dst: EXP_Ttl_grace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:646,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:648,1
    - Dst: Req_LogHit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:649,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:653,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:657,1
    - Dst: EXP_Ttl_grace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:658,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:663,1
    - Dst: hsh_deref_objhead_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:663,1
    - Dst: Req_LogHit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:664,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:669,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:671,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:678,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:683,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:684,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:686,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 182
    argCount: 3
    argNames:
    - req
    - ocp
    - bocp
    argTypes:
    - struct req*
    - struct objcore**
    - struct objcore**
    assertStmts:
    - condition: (oh->refcnt > 1)
      pos:
        line_end: 677
        line_start: 677
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 1)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (vr == VCF_DEFAULT)
      pos:
        line_end: 568
        line_start: 568
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oc->objhead == oh)
      pos:
        line_end: 573
        line_start: 573
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oc->objhead == oh)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 1)
      pos:
        line_end: 582
        line_start: 582
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (exp_oc->objhead == oh)
      pos:
        line_end: 583
        line_start: 583
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 1)
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 690
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 690
    functionName: HSH_Lookup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - lookup
    - DO_DEBUG
    - VTAILQ_INSERT_TAIL
    - VSLb
    - AN
    - ObjGetXID
    - hsh_testmagic
    - EXP_Dttl
    - hsh_prealloc
    - EXP_Ttl_grace
    - hsh_insert_busyobj
    - Lck_Lock
    - hsh_deref_objhead_unlock
    - hsh_rush_match
    - VTAILQ_FOREACH
    - BAN_CheckObject
    - CHECK_OBJ_NOTNULL
    - struct req*::vcf::func
    - AZ
    - Req_LogHit
    - assert
    - hsh_vry_match
    - Lck_AssertHeld
    - CHECK_OBJ_ORNULL
    - EXP_Ttl
    - HSH_DerefObjCore
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - EXP_Remove
    - VXID
    linkageType: ''
    returnType: enum lookup_e
    signature: enum lookup_e HSH_Lookup(struct req *req, struct objcore **ocp, struct
      objcore **bocp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:703,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:704,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:705,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:706,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:712,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:713,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:715,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:716,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:720,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:728,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:732,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:749,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:750,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - wrk
    - oc
    - r
    argTypes:
    - struct worker*
    - struct objcore*
    - struct rush*
    assertStmts:
    - condition: (max > 0)
      pos:
        line_end: 719
        line_start: 719
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 756
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 756
    functionName: hsh_rush1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - VTAILQ_FIRST
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - Lck_AssertHeld
    - VTAILQ_REMOVE
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void hsh_rush1(const struct worker *wrk, struct objcore *oc, struct
      rush *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:767,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:768,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:770,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:771,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:772,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:773,1
    - Dst: DSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:774,1
    - Dst: struct req*::transport::reembark
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:777,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:785,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - wrk
    - r
    argTypes:
    - struct worker*
    - struct rush*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 788
    functionName: hsh_rush2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - DSL
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - Pool_Task
    - struct req*::transport::reembark
    - AZ
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void hsh_rush2(struct worker *wrk, struct rush *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:802,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:803,1
    - Dst: WS_ReserveLumps
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:806,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:814,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:815,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:826,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:827,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:830,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:832,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:833,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:850,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:866,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:869,1
    - Dst: EXP_Remove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:871,1
    - Dst: EXP_Reduce
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:873,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:874,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:875,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:886,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:890,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:893,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:894,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:897,1
    - Dst: Pool_PurgeStat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:899,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 6
    argNames:
    - wrk
    - oh
    - ttl_now
    - ttl
    - grace
    - keep
    argTypes:
    - struct worker*
    - struct objhead*
    - vtim_real
    - vtim_dur
    - vtim_dur
    - vtim_dur
    assertStmts:
    - condition: (j >= 1)
      pos:
        line_end: 865
        line_start: 865
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oc->objhead == oh)
      pos:
        line_end: 832
        line_start: 832
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 901
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 901
    functionName: HSH_Purge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - Pool_PurgeStat
    - VTAILQ_FIRST
    - AN
    - Lck_Unlock
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ_NOTNULL
    - WS_Release
    - EXP_Reduce
    - AZ
    - assert
    - Lck_Lock
    - VTAILQ_NEXT
    - WS_Reservation
    - EXP_Remove
    - WS_ReserveLumps
    - HSH_DerefObjCore
    linkageType: ''
    returnType: unsigned
    signature: "unsigned HSH_Purge(struct worker *wrk, struct objhead *oh, vtim_real
      ttl_now,\n    vtim_dur ttl, vtim_dur grace, vtim_dur keep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:913,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:914,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:915,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:917,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:918,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:931,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:933,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:935,1
    - Dst: hsh_rush1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:939,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:941,1
    - Dst: hsh_rush2
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts:
    - condition: (oc->flags & (OC_F_BUSY|OC_F_PRIVATE))
      pos:
        line_end: 930
        line_start: 930
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oc->stobj->stevedore != NULL)
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 943
      start: 907
    functionDepth: 4
    functionLinenumber: 907
    functionLinenumberEnd: 943
    functionName: HSH_Fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - hsh_rush1
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - hsh_rush2
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void HSH_Fail(struct worker *wrk, struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:954,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:956,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:958,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 961
    functionName: hsh_cancel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - Lck_Lock
    - Lck_Unlock
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void hsh_cancel(struct objcore *oc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:972,1
    - Dst: HSH_RefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:982,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:984,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:987,1
    - Dst: hsh_cancel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:990,1
    - Dst: ObjWaitState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:991,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:995,1
    - Dst: ObjSlim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - wrk
    - oc
    - boc
    argTypes:
    - struct worker*
    - struct objcore*
    - struct boc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 998
    functionName: HSH_Cancel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - HSH_DerefBoc
    - AN
    - CHECK_OBJ_NOTNULL
    - ObjSlim
    - HSH_RefBoc
    - ObjWaitState
    - CHECK_OBJ_ORNULL
    - hsh_cancel
    linkageType: ''
    returnType: void
    signature: void HSH_Cancel(struct worker *wrk, struct objcore *oc, struct boc
      *boc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1011,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1012,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1013,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1016,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1018,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1019,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1020,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1021,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1022,1
    - Dst: hsh_rush1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1025,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1026,1
    - Dst: hsh_deref_objcore_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1026,1
    - Dst: hsh_rush2
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - wrk
    - ocp
    argTypes:
    - struct worker*
    - struct objcore**
    assertStmts:
    - condition: (oc->refcnt == 1)
      pos:
        line_end: 1020
        line_start: 1020
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 1021
        line_start: 1021
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (hsh_deref_objcore_unlock(wrk, &oc) <= 1)
      pos:
        line_end: 1025
        line_start: 1025
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1029
      start: 1004
    functionDepth: 4
    functionLinenumber: 1004
    functionLinenumberEnd: 1029
    functionName: HSH_Withdraw
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - hsh_rush1
    - hsh_rush2
    - AZ
    - assert
    - Lck_Lock
    - CHECK_OBJ
    - hsh_deref_objcore_unlock
    linkageType: ''
    returnType: void
    signature: void HSH_Withdraw(struct worker *wrk, struct objcore **ocp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1041,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1042,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1043,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1046,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1048,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1049,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1050,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1053,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1057,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1058,1
    - Dst: BAN_NewObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1060,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1061,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1064,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1065,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1066,1
    - Dst: EXP_RefNewObjcore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1067,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1069,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1070,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1072,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1073,1
    - Dst: hsh_rush1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1074,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1076,1
    - Dst: EXP_Insert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1077,1
    - Dst: hsh_rush2
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 1049
        line_start: 1049
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 1065
        line_start: 1065
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 1)
      pos:
        line_end: 1072
        line_start: 1072
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 1048
        line_start: 1048
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1079
      start: 1035
    functionDepth: 4
    functionLinenumber: 1035
    functionLinenumberEnd: 1079
    functionName: HSH_Unbusy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - hsh_rush1
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VTAILQ_INSERT_HEAD
    - VTAILQ_EMPTY
    - EXP_Insert
    - hsh_rush2
    - AZ
    - assert
    - Lck_Lock
    - VTAILQ_REMOVE
    - CHECK_OBJ
    - BAN_NewObjCore
    - EXP_RefNewObjcore
    linkageType: ''
    returnType: void
    signature: void HSH_Unbusy(struct worker *wrk, struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HSH_Replace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1092
    functionName: HSH_Kill
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - HSH_Replace
    linkageType: ''
    returnType: void
    signature: void HSH_Kill(struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1098,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1099,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1101,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1102,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1105,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1107,1
    - Dst: EXP_Remove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - oc
    - new_oc
    argTypes:
    - struct objcore*
    - struct objcore*
    assertStmts:
    - condition: (oc->objhead == new_oc->objhead)
      pos:
        line_end: 1101
        line_start: 1101
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1109
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1109
    functionName: HSH_Replace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - EXP_Remove
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void HSH_Replace(struct objcore *oc, const struct objcore *new_oc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1122,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1123,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1124,1
    - Dst: Lck_Trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1126,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1132,1
    - Dst: EXP_Remove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1137
    functionName: HSH_Snipe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - EXP_Remove
    - CHECK_OBJ_NOTNULL
    - Lck_Trylock
    linkageType: ''
    returnType: int
    signature: int HSH_Snipe(const struct worker *wrk, struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1149,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1151,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1152,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1153,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 1152
        line_start: 1152
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1156
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1156
    functionName: HSH_Ref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - assert
    - Lck_Unlock
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void HSH_Ref(struct objcore *oc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1168,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1170,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1173,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1174,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1176,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1178,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 1173
        line_start: 1173
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (boc->refcount > 0)
      pos:
        line_end: 1177
        line_start: 1177
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1186
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1186
    functionName: HSH_RefBoc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: struct boc
    signature: 'struct boc *

      HSH_RefBoc(const struct objcore *oc)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1194,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1195,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1197,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1198,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1199,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1200,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1204,1
    - Dst: ObjBocDone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 1198
        line_start: 1198
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (boc->refcount > 0)
      pos:
        line_end: 1199
        line_start: 1199
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1207
      start: 1188
    functionDepth: 3
    functionLinenumber: 1188
    functionLinenumberEnd: 1207
    functionName: HSH_DerefBoc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 3
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - ObjBocDone
    linkageType: ''
    returnType: void
    signature: void HSH_DerefBoc(struct worker *wrk, struct objcore *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1221,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1222,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1223,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1226,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1228,1
    - Dst: hsh_deref_objcore_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wrk
    - ocp
    argTypes:
    - struct worker*
    - struct objcore**
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 1222
        line_start: 1222
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1230
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1230
    functionName: HSH_DerefObjCore
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 5
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - hsh_deref_objcore_unlock
    linkageType: ''
    returnType: int
    signature: int HSH_DerefObjCore(struct worker *wrk, struct objcore **ocp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1239,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1240,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1241,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1244,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1246,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1247,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1250,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1251,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1255,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1256,1
    - Dst: BAN_DestroyObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1258,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1259,1
    - Dst: ObjFreeObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1262,1
    - Dst: ObjDestroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1266,1
    - Dst: hsh_deref_objhead
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - wrk
    - ocp
    argTypes:
    - struct worker*
    - struct objcore**
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 1240
        line_start: 1240
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 1246
        line_start: 1246
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 1265
        line_start: 1265
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1269
      start: 1232
    functionDepth: 3
    functionLinenumber: 1232
    functionLinenumberEnd: 1269
    functionName: hsh_deref_objcore_unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - hsh_deref_objhead
    - Lck_AssertHeld
    - VTAILQ_REMOVE
    - ObjFreeObj
    - ObjDestroy
    - BAN_DestroyObj
    linkageType: ''
    returnType: int
    signature: int hsh_deref_objcore_unlock(struct worker *wrk, struct objcore **ocp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1279,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1280,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1282,1
    - Dst: vcountof
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1284,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1285,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1285,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1286,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1288,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1299,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1300,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1301,1
    - Dst: hsh_rush1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1302,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1306,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1306,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1308,1
    - Dst: deref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1309,1
    - Dst: hsh_rush2
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - wrk
    - poh
    - oc
    argTypes:
    - struct worker*
    - struct objhead**
    - struct objcore*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&oh->waitinglist))
      pos:
        line_end: 1284
        line_start: 1284
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 1)
      pos:
        line_end: 1285
        line_start: 1285
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (VTAILQ_EMPTY(&oh->waitinglist))
      pos:
        line_end: 1305
        line_start: 1305
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 1)
      pos:
        line_end: 1300
        line_start: 1300
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt > 0)
      pos:
        line_end: 1307
        line_start: 1307
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1312
      start: 1271
    functionDepth: 4
    functionLinenumber: 1271
    functionLinenumberEnd: 1312
    functionName: hsh_deref_objhead_unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - vcountof
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - hsh_rush1
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - hsh_rush2
    - VTAILQ_EMPTY
    - deref
    - assert
    - Lck_AssertHeld
    linkageType: ''
    returnType: int
    signature: "int hsh_deref_objhead_unlock(struct worker *wrk, struct objhead **poh,\n
      \   struct objcore *oc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1319,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1320,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1322,1
    - Dst: hsh_deref_objhead_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wrk
    - poh
    argTypes:
    - struct worker*
    - struct objhead**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1314
    functionDepth: 5
    functionLinenumber: 1314
    functionLinenumberEnd: 1324
    functionName: hsh_deref_objhead
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 1
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - Lck_Lock
    - hsh_deref_objhead_unlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int hsh_deref_objhead(struct worker *wrk, struct objhead **poh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1330,1
    - Dst: start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1333,1
    - Dst: vcountof
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1335,1
    - Dst: hsh_initobjhead
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1337,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c:1338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - slinger
    argTypes:
    - struct hash_slinger*
    assertStmts:
    - condition: (DIGEST_LEN == VSHA256_LEN)
      pos:
        line_end: 1329
        line_start: 1329
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - condition: (oh->refcnt == 1)
      pos:
        line_end: 1337
        line_start: 1337
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    constantsTouched: []
    func_position:
      end: 1340
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1340
    functionName: HSH_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    functionUses: 0
    functionsReached:
    - assert
    - start
    - vcountof
    - hsh_initobjhead
    linkageType: ''
    returnType: void
    signature: void HSH_Init(const struct hash_slinger *slinger)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:56,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:57,1
    - Dst: Req_Fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: vrg_range_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - Req_Fail
    linkageType: ''
    returnType: void
    signature: void vrg_range_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:76,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:77,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:78,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:89,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:96,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 100
    functionName: vrg_range_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - vmin
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - VDP_bytes
    linkageType: ''
    returnType: void
    signature: "void vrg_range_bytes(struct vdp_ctx *vdc, enum vdp_action act, void
      **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:111,1
    - Dst: http_GetRange
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:112,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:120,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:124,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:127,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:131,1
    - Dst: http_PutResponse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - req
    - clen
    - priv
    argTypes:
    - struct req*
    - intmax_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 139
    functionName: vrg_dorange
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - http_PutResponse
    - http_PrintfHeader
    - WS_Alloc
    - http_GetRange
    linkageType: ''
    returnType: char
    signature: 'char *

      vrg_dorange(struct req *req, intmax_t *clen, void **priv)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:151,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:160,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:165,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:169,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:175,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:177,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:183,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 197
    functionName: vrg_ifrange
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - VTIM_parse
    - strcmp
    - http_GetHdr
    linkageType: ''
    returnType: int
    signature: int vrg_ifrange(struct req *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:204,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:205,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:206,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:207,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:210,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:215,1
    - Dst: vrg_ifrange
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:219,1
    - Dst: vrg_dorange
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:221,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:225,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:227,1
    - Dst: http_PutResponse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: vrg_range_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - AN
    - vrg_ifrange
    - CHECK_OBJ_NOTNULL
    - http_PutResponse
    - http_PrintfHeader
    - vrg_dorange
    - CHECK_OBJ_ORNULL
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vrg_range_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vdc
    - priv
    - capacity
    argTypes:
    - struct vdp_ctx*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: vrg_range_io_upgrade
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vrg_range_io_upgrade(VRT_CTX, struct vdp_ctx *vdc, void **priv,
      int capacity)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:257,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:258,1
    - Dst: VSCARAB_CHECK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:259,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:261,1
    - Dst: VSCARAB_LOCAL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:271,1
    - Dst: vdpio_pull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:274,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:280,1
    - Dst: vdpio_consolidate_vscarab
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:289,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:294,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:297,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:298,1
    - Dst: vdpio_pull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:301,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:307,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:313,1
    - Dst: vdpio_return_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:316,1
    - Dst: VSCARAB_ADD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 3
    argNames:
    - vdc
    - this
    - out
    argTypes:
    - struct vdp_ctx*
    - struct vdp_entry*
    - struct vscarab*
    assertStmts:
    - condition: (vrg_priv->range_off == vrg_priv->range_low)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    - condition: (vrg_priv->range_off <= vrg_priv->range_high)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    - condition: (vrg_priv->range_off >= vrg_priv->range_low)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    constantsTouched: []
    func_position:
      end: 326
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 326
    functionName: vrg_range_io_lease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - vmin
    - vdpio_consolidate_vscarab
    - AN
    - CHECK_OBJ_NOTNULL
    - VSCARAB_CHECK
    - vdpio_pull
    - VSCARAB_LOCAL
    - CAST_OBJ_NOTNULL
    - AZ
    - assert
    - vdpio_return_lease
    - VSCARAB_ADD
    linkageType: ''
    returnType: void
    signature: void vrg_range_io_lease(struct vdp_ctx *vdc, struct vdp_entry *this,
      struct vscarab *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 4
    functionsReached:
    - vmin
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH(v, in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:313,1
    - Dst: vdpio_return_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:316,1
    - Dst: VSCARAB_ADD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 4
    functionsReached:
    - vmin
    - vdpio_return_lease
    - VSCARAB_ADD
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH(v, in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:331,1
    - Dst: vrg_range_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: vrg_range_io_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - vrg_range_fini
    - AZ
    linkageType: ''
    returnType: void
    signature: void vrg_range_io_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:353,1
    - Dst: http_GetRange
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:358,1
    - Dst: http_GetContentLength
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:359,1
    - Dst: http_GetContentRange
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:360,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:363,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:368,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:373,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:378,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:384,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:389,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:390,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:391,1
    - Dst: RANGE_CHECK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:408,1
    - Dst: RANGE_CHECK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:418,1
    - Dst: RANGE_CHECK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_range.c:419,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts:
    - condition: (crhi < 0)
      pos:
        line_end: 388
        line_start: 388
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    - condition: (crlen > 0)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    constantsTouched: []
    func_position:
      end: 423
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 423
    functionName: VRG_CheckBo
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 0
    functionsReached:
    - http_GetContentRange
    - CHECK_OBJ_NOTNULL
    - http_GetContentLength
    - http_GetRange
    - assert
    - http_GetStatus
    - RANGE_CHECK
    - VSLb
    linkageType: ''
    returnType: int
    signature: int VRG_CheckBo(struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - val
    - ','
    - op
    - ','
    - crval
    - ','
    - what
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: RANGE_CHECK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANGE_CHECK(val, op, crval, what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - stat
    - ','
    - err
    - ','
    - text
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: SESS_CLOSE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_CLOSE(nm, stat, err, text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:101,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:102,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:103,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:104,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - wrk
    - sp
    - req
    - xp
    argTypes:
    - struct worker*
    - struct sess*
    - struct req*
    - struct transport*
    assertStmts:
    - condition: (xp->number > 0)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: SES_SetTransport
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 4
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void SES_SetTransport(struct worker *wrk, struct sess *sp, struct
      req *req,\n    const struct transport *xp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:120,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:121,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:122,1
    - Dst: WS_AtOffset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sp
    - a
    - dst
    argTypes:
    - struct sess*
    - enum sess_attr
    - void**
    assertStmts:
    - condition: (a < SA_LAST)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: ses_get_attr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - WS_AtOffset
    linkageType: ''
    returnType: int
    signature: int ses_get_attr(const struct sess *sp, enum sess_attr a, void **dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:136,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:137,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:138,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:139,1
    - Dst: WS_AtOffset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:143,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:144,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - sp
    - a
    - src
    - sz
    argTypes:
    - struct sess*
    - enum sess_attr
    - void*
    - int
    assertStmts:
    - condition: (a < SA_LAST)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (sz > 0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: ses_set_attr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - AN
    - memcpy
    - CHECK_OBJ_NOTNULL
    - WS_AtOffset
    - assert
    linkageType: ''
    returnType: int
    signature: int ses_set_attr(const struct sess *sp, enum sess_attr a, const void
      *src, int sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:155,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:156,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:157,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:160,1
    - Dst: WS_ReserveSize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:161,1
    - Dst: WS_ReservationOffset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:163,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:165,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:168,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - sp
    - a
    - dst
    - szp
    argTypes:
    - struct sess*
    - enum sess_attr
    - void**
    - ssize_t*
    assertStmts:
    - condition: (a < SA_LAST)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (sz >= 0)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 173
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 173
    functionName: ses_res_attr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - AN
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveSize
    - assert
    - WS_ReservationOffset
    - WS_Reservation
    linkageType: ''
    returnType: int
    signature: int ses_res_attr(struct sess *sp, enum sess_attr a, void **dst, ssize_t
      *szp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - UP
    - ','
    - low
    - ','
    - typ
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 198
    functionName: SESS_ATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_ATTR(UP, low, typ, len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:207,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:208,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:210,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:211,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:212,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:214,1
    - Dst: ses_res_attr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:215,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:217,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - sp
    - a
    - src
    argTypes:
    - struct sess*
    - enum sess_attr
    - char*
    assertStmts:
    - condition: (a <  SA_LAST)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (l == sz)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: SES_Set_String_Attr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - ses_res_attr
    - strcmp
    - assert
    - WRONG
    - strlen
    - strcpy
    linkageType: ''
    returnType: int
    signature: int SES_Set_String_Attr(struct sess *sp, enum sess_attr a, const char
      *src)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:227,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:229,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:230,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:231,1
    - Dst: ses_get_attr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - a
    argTypes:
    - struct sess*
    - enum sess_attr
    assertStmts:
    - condition: (a <  SA_LAST)
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: SES_Get_String_Attr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - strcmp
    - assert
    - ses_get_attr
    - WRONG
    linkageType: ''
    returnType: char
    signature: 'char *

      SES_Get_String_Attr(const struct sess *sp, enum sess_attr a)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - e
    - name
    - desc
    argTypes:
    - enum htc_status_e
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: HTC_Status
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 3
    functionsReached:
    - WRONG
    linkageType: ''
    returnType: void
    signature: void HTC_Status(enum htc_status_e e, const char **name, const char
      **desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - e
    - ','
    - n
    - ','
    - s
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: HTC_STATUS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTC_STATUS(e, n, s, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:264,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:271,1
    - Dst: WS_Pipeline
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:272,1
    - Dst: xxxassert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:273,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - htc
    - ws
    argTypes:
    - struct http_conn*
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 279
    functionName: HTC_RxInit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 6
    functionsReached:
    - WS_Pipeline
    - xxxassert
    - CHECK_OBJ_NOTNULL
    - strcasecmp
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void HTC_RxInit(struct http_conn *htc, struct ws *ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:285,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:286,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - htc
    - p
    argTypes:
    - struct http_conn*
    - char*
    assertStmts:
    - condition: (p >= htc->rxbuf_b)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (p <= htc->rxbuf_e)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: HTC_RxPipeline
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 3
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void HTC_RxPipeline(struct http_conn *htc, char *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:323,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:325,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:326,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:327,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:327,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:329,1
    - Dst: WS_ReservationSize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:330,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:331,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:333,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:333,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:335,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:335,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:339,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:347,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:348,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:349,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:350,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:351,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:353,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:355,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:359,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:361,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:369,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:374,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:376,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:376,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:378,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:380,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:387,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:387,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:392,1
    - Dst: VTCP_read
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:397,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:399,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:404,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 8
    argNames:
    - htc
    - func
    - t1
    - t2
    - ti
    - tn
    - td
    - maxbytes
    argTypes:
    - struct http_conn*
    - htc_complete_f*
    - vtim_real*
    - vtim_real*
    - vtim_real
    - vtim_real
    - vtim_dur
    - int
    assertStmts:
    - condition: (*htc->rfd > 0)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (isnan(*t1))
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (l <= r)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (l <= r)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 411
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 411
    functionName: HTC_RxStuff
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 4
    functionsReached:
    - VTCP_read
    - AN
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - AZ
    - assert
    - WS_ReservationSize
    - isnan
    - WS_ReleaseP
    - pdiff
    - func
    - WRONG
    - WS_Reservation
    linkageType: ''
    returnType: enum htc_status_e
    signature: "enum htc_status_e HTC_RxStuff(struct http_conn *htc, htc_complete_f
      *func,\n    vtim_real *t1, vtim_real *t2, vtim_real ti, vtim_real tn, vtim_dur
      td,\n    int maxbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:428,1
    - Dst: MPL_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:429,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:430,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:431,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:434,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:438,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:439,1
    - Dst: WS_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:440,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:448,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pool*
    assertStmts:
    - condition: (p < e)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 451
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 451
    functionName: SES_New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 2
    functionsReached:
    - MPL_Get
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - memset
    - assert
    - PRNDUP
    - WS_Init
    - Lck_New
    linkageType: ''
    returnType: struct sess
    signature: 'struct sess *

      SES_New(struct pool *pp)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:465,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:466,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:467,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:468,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:468,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:469,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:472,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:476,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:479,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:483,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:485,1
    - Dst: WS_ReserveSize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:485,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:486,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:489,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:490,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:493,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:496,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - wp
    - ev
    - now
    argTypes:
    - struct waited*
    - enum wait_event
    - vtim_real
    assertStmts:
    - condition: (WS_Reservation(sp->ws) == wp)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (sizeof *tp <= WS_ReserveSize(sp->ws, sizeof *tp))
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 498
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 498
    functionName: ses_handle
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - SES_Delete
    - FINI_OBJ
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - Pool_Task
    - CAST_OBJ_NOTNULL
    - assert
    - WS_ReserveSize
    - WRONG
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void ses_handle(struct waited *wp, enum wait_event ev, vtim_real now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:510,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:511,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:513,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:514,1
    - Dst: VTCP_nonblocking
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:519,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:527,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:529,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:530,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:534,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:535,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:541,1
    - Dst: Wait_Enter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:542,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - sp
    - xp
    argTypes:
    - struct sess*
    - struct transport*
    assertStmts:
    - condition: (sp->fd > 0)
      pos:
        line_end: 513
        line_start: 513
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 544
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 544
    functionName: SES_Wait
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 1
    functionsReached:
    - SES_Delete
    - Wait_Enter
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - SESS_TMO
    - WS_MarkOverflow
    - VTCP_nonblocking
    - assert
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void SES_Wait(struct sess *sp, const struct transport *xp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:557,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - reason
    argTypes:
    - stream_close_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 570
    functionName: ses_close_acct
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - WRONG
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ses_close_acct(stream_close_t reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - reason
    - ','
    - stat
    - ','
    - err
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: SESS_CLOSE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_CLOSE(reason, stat, err, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:583,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:584,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:585,1
    - Dst: close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:586,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:587,1
    - Dst: ses_close_acct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - reason
    argTypes:
    - struct sess*
    - stream_close_t
    assertStmts:
    - condition: (reason->idx > 0)
      pos:
        line_end: 583
        line_start: 583
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (i == 0 || errno != EBADF)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (sp->fd > 0)
      pos:
        line_end: 584
        line_start: 584
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: SES_Close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 2
    functionsReached:
    - assert
    - close
    - ses_close_acct
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void SES_Close(struct sess *sp, stream_close_t reason)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:600,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:601,1
    - Dst: SES_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:604,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:605,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:607,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:608,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:609,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:609,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:611,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:615,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:620,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:624,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:625,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:626,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:627,1
    - Dst: SES_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - sp
    - reason
    - now
    argTypes:
    - struct sess*
    - stream_close_t
    - vtim_real
    assertStmts:
    - condition: (sp->fd < 0)
      pos:
        line_end: 604
        line_start: 604
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    - condition: (sp->fd < 0 && -sp->fd < SCE_MAX)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 630
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 630
    functionName: SES_Delete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 5
    functionsReached:
    - WS_Overflowed
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - VSL
    - SES_Rel
    - AZ
    - assert
    - isnan
    - WRONG
    - SES_Close
    linkageType: ''
    returnType: void
    signature: void SES_Delete(struct sess *sp, stream_close_t reason, vtim_real now)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:654,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - sp
    - hs
    - now
    argTypes:
    - struct sess*
    - enum htc_status_e
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 657
    functionName: SES_DeleteHS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 1
    functionsReached:
    - SES_Delete
    - WRONG
    linkageType: ''
    returnType: void
    signature: void SES_DeleteHS(struct sess *sp, enum htc_status_e hs, vtim_real
      now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:667,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:668,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:669,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sp
    argTypes:
    - struct sess*
    assertStmts:
    - condition: (sp->refcnt > 0)
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 672
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 672
    functionName: SES_Ref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - assert
    - Lck_Unlock
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void SES_Ref(struct sess *sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:679,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:680,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:682,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:683,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:685,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:688,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:690,1
    - Dst: MPL_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - sp
    argTypes:
    - struct sess*
    assertStmts:
    - condition: (sp->refcnt > 0)
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    constantsTouched: []
    func_position:
      end: 693
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 693
    functionName: SES_Rel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 1
    functionsReached:
    - WS_Rollback
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - Lck_Delete
    - MPL_Free
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void SES_Rel(struct sess *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:704,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:705,1
    - Dst: MPL_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:706,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:708,1
    - Dst: MPL_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:709,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:712,1
    - Dst: Waiter_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pp
    - pool_no
    argTypes:
    - struct pool*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 714
    functionName: SES_NewPool
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - bprintf
    - Waiter_New
    - CHECK_OBJ_NOTNULL
    - MPL_New
    linkageType: ''
    returnType: void
    signature: void SES_NewPool(struct pool *pp, unsigned pool_no)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MPL_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:719,1
    - Dst: MPL_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:720,1
    - Dst: Waiter_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_session.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 722
    functionName: SES_DestroyPool
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    functionUses: 0
    functionsReached:
    - Waiter_Destroy
    - MPL_Destroy
    linkageType: ''
    returnType: void
    signature: void SES_DestroyPool(struct pool *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: TRANSPORT_MACRO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSPORT_MACRO(name)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:64,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:66,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:67,1
    - Dst: HSH_Private
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:70,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:71,1
    - Dst: STV_NewObject
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:80,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:82,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:83,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:83,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:84,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:91,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:92,1
    - Dst: VCL_StackVFP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:95,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:96,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:98,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:99,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:99,1
    - Dst: VFP_Open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:104,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:106,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:107,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:107,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:111,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:115,1
    - Dst: vmax_t
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:117,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:119,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:121,1
    - Dst: VFP_GetStorage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:126,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:128,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:129,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:130,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:131,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:141,1
    - Dst: ObjExtend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:145,1
    - Dst: VFP_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:151,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:152,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:152,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:154,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:155,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:155,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:157,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:166,1
    - Dst: ObjSetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:166,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:167,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:171,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:171,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:175,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:178,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:179,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:180,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:183,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:184,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:185,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 103
    argCount: 4
    argNames:
    - req
    - maxsize
    - func
    - priv
    argTypes:
    - struct req*
    - ssize_t
    - objiterate_f*
    - void*
    assertStmts:
    - condition: (req_bodybytes >= 0)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    constantsTouched: []
    func_position:
      end: 191
      start: 52
    functionDepth: 9
    functionLinenumber: 52
    functionLinenumberEnd: 191
    functionName: vrb_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - ObjSetU64
    - ObjExtend
    - VCL_StackVFP
    - AN
    - http_Unset
    - VFP_Open
    - VFP_GetStorage
    - vmax_t
    - VSLb_ts_req
    - VFP_Error
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - struct req*::transport::minimal_response
    - http_PrintfHeader
    - AZ
    - VFP_Suck
    - assert
    - STV_NewObject
    - HSH_DerefObjCore
    - HSH_DerefBoc
    - VFP_Close
    - VCL_Req2Ctx
    - HSH_Private
    - func
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vrb_pull(struct req *req, ssize_t maxsize, objiterate_f *func,
      void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:209,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:212,1
    - Dst: ObjIterate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:213,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:220,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:225,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:229,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:235,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:237,1
    - Dst: vrb_pull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - wrk
    - vsl
    - req
    - func
    - priv
    argTypes:
    - struct worker*
    - struct vsl_log*
    - struct req*
    - objiterate_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 202
    functionDepth: 10
    functionLinenumber: 202
    functionLinenumberEnd: 242
    functionName: VRB_Iterate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - vrb_pull
    - Lck_Lock
    - ObjIterate
    - VSLb
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t VRB_Iterate(struct worker *wrk, struct vsl_log *vsl,\n    struct
      req *req, objiterate_f *func, void *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - priv
    - flush
    - ptr
    - len
    argTypes:
    - void*
    - unsigned
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: httpq_req_body_discard
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void httpq_req_body_discard(void *priv, unsigned flush, const void
      *ptr, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:267,1
    - Dst: VRB_Iterate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 11
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: VRB_Ignore
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRB_Iterate
    linkageType: ''
    returnType: int
    signature: int VRB_Ignore(struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:287,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:295,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts:
    - condition: (r >= 0)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    - condition: ((unsigned)r <= req->restarts + 1)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    constantsTouched: []
    func_position:
      end: 297
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 297
    functionName: VRB_Free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    functionUses: 0
    functionsReached:
    - assert
    - HSH_DerefObjCore
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRB_Free(struct req *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:311,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:312,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:313,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:321,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:327,1
    - Dst: ObjGetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:327,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:336,1
    - Dst: vrb_pull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - req
    - maxsize
    argTypes:
    - struct req*
    - ssize_t
    assertStmts:
    - condition: (maxsize >= 0)
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    - condition: (req->req_step == R_STP_RECV)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    constantsTouched: []
    func_position:
      end: 341
      start: 306
    functionDepth: 10
    functionLinenumber: 306
    functionLinenumberEnd: 341
    functionName: VRB_Cache
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - ObjGetU64
    - AZ
    - assert
    - vrb_pull
    - VFP_Error
    - VSLb
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VRB_Cache(struct req *req, ssize_t maxsize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:72,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - head
    - vfp
    - vdp
    - name
    argTypes:
    - struct vfilter_head*
    - struct vfp*
    - struct vdp*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 83
    functionName: is_dup_filter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\nis_dup_filter(const struct vfilter_head *head, const struct
      vfp * vfp,\n    const struct vdp *vdp, const char *name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:72,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 114
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH(vp, head, list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:92,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:93,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:94,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:95,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:96,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:96,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:101,1
    - Dst: is_dup_filter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:103,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:106,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:110,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:111,1
    - Dst: is_dup_filter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:113,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:115,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:120,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:121,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:125,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - vfp
    - vdp
    argTypes:
    - struct vfp*
    - struct vdp*
    assertStmts:
    - condition: (vfp == NULL || vfp->name != NULL)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vfp == NULL || vdp == NULL || !strcasecmp(vfp->name, vdp->name))
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vdp == NULL || vdp->name != NULL)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vfp != NULL || vdp != NULL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    constantsTouched: []
    func_position:
      end: 128
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 128
    functionName: vrt_addfilter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - strlen
    - AN
    - CHECK_OBJ_NOTNULL
    - strcasecmp
    - ASSERT_CLI
    - assert
    - VRT_fail
    - is_dup_filter
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    linkageType: ''
    returnType: char
    signature: 'char *

      vrt_addfilter(VRT_CTX, const struct vfp *vfp, const struct vdp *vdp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:134,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vfp
    - vdp
    argTypes:
    - struct vfp*
    - struct vdp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: VRT_AddFilter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - vrt_addfilter
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VRT_AddFilter(VRT_CTX, const struct vfp *vfp, const struct vdp *vdp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:144,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:145,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:147,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:148,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:149,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:150,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:150,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:152,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:154,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:158,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:159,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:159,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:160,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:160,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:161,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - vfp
    - vdp
    argTypes:
    - struct vfp*
    - struct vdp*
    assertStmts:
    - condition: (vdp == NULL || vdp->name != NULL)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vfp == NULL || vfp->name != NULL)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vfp != NULL || vdp != NULL)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vfp == NULL || vdp == NULL || !strcasecmp(vfp->name, vdp->name))
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vdp == NULL || !strcasecmp(vdp->name, vp->name))
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    - condition: (vfp == NULL || !strcasecmp(vfp->name, vp->name))
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: VRT_RemoveFilter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - strcasecmp
    - FREE_OBJ
    - ASSERT_CLI
    - assert
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void VRT_RemoveFilter(VRT_CTX, const struct vfp *vfp, const struct
      vdp *vdp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 114
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH(vp, hd, list)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:174,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:175,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:176,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:179,1
    - Dst: vct_isspace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:181,1
    - Dst: vct_isspace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:187,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:195,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:203,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 4
    argNames:
    - want_vfp
    - h1
    - h2
    - flp
    argTypes:
    - int
    - struct vfilter_head*
    - struct vfilter_head*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 208
    functionName: vcl_filter_list_iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - vct_isspace
    - memcmp
    - AN
    linkageType: ''
    returnType: struct vfilter
    signature: "struct vfilter *\nvcl_filter_list_iter(int want_vfp, const struct
      vfilter_head *h1,\n    const struct vfilter_head *h2, const char **flp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 114
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH(vp, h1, list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:203,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 114
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH(vp, h2, list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:215,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:216,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:216,1
    - Dst: vcl_filter_list_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:219,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:223,1
    - Dst: VFP_Push
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - vc
    - vcl
    - fl
    argTypes:
    - struct vfp_ctx*
    - struct vcl*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 9
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: VCL_StackVFP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 1
    functionsReached:
    - AN
    - VFP_Push
    - VSLbs
    - VFP_Error
    - vcl_filter_list_iter
    - TOSTRAND
    linkageType: ''
    returnType: int
    signature: int VCL_StackVFP(struct vfp_ctx *vc, const struct vcl *vcl, const char
      *fl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:236,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:237,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:238,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:240,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:241,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:243,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:245,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:245,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:246,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:249,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:251,1
    - Dst: vcl_filter_list_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:254,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:258,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - vdc
    - vcl
    - fl
    - req
    - bo
    argTypes:
    - struct vdp_ctx*
    - struct vcl*
    - char*
    - struct req*
    - struct busyobj*
    assertStmts:
    - condition: '((req ? 1 : 0) ^ (bo ? 1 : 0))'
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    constantsTouched: []
    func_position:
      end: 265
      start: 229
    functionDepth: 6
    functionLinenumber: 229
    functionLinenumberEnd: 265
    functionName: VCL_StackVDP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 1
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VCL_Req2Ctx
    - VCL_Bo2Ctx
    - VDP_Push
    - assert
    - VSLbs
    - CHECK_OBJ_ORNULL
    - vcl_filter_list_iter
    - TOSTRAND
    - VSLb
    linkageType: ''
    returnType: int
    signature: "int VCL_StackVDP(struct vdp_ctx *vdc, const struct vcl *vcl, const
      char *fl,\n    struct req *req, struct busyobj *bo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:270,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:270,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:271,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:271,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:272,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:272,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:273,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:273,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:274,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:274,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:275,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:275,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:276,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:276,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:277,1
    - Dst: vrt_addfilter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: VCL_VRT_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - vrt_addfilter
    - AZ
    linkageType: ''
    returnType: void
    signature: void VCL_VRT_Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:291,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:292,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:293,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:294,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ws
    - func
    - arg
    argTypes:
    - struct ws*
    - filter_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 299
    functionName: filter_on_ws
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - func
    - AN
    - WS_VSB_finish
    - WS_VSB_new
    linkageType: ''
    returnType: char
    signature: 'char *

      filter_on_ws(struct ws *ws, filter_list_t *func, void *arg)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:311,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:335,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:336,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:349,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:352,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:357,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:362,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:365,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - arg
    - vsb
    argTypes:
    - void*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 366
    functionName: vbf_default_filter_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - http_GetHdr
    - VSB_cat
    - strcasecmp
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbf_default_filter_list(void *arg, struct vsb *vsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:372,1
    - Dst: filter_on_ws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: VBF_Get_Filter_List
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - filter_on_ws
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VBF_Get_Filter_List(struct busyobj *bo)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 382
    functionName: bereq_Empty_Filter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      bereq_Empty_Filter(struct busyobj *bo)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:392,1
    - Dst: ObjHasAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:395,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:396,1
    - Dst: ObjCheckFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:400,1
    - Dst: RFC2616_Req_Gzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:401,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:402,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:405,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:406,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:407,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - arg
    - vsb
    argTypes:
    - void*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: resp_default_filter_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - http_GetHdr
    - CAST_OBJ_NOTNULL
    - RFC2616_Req_Gzip
    - VSB_cat
    - ObjHasAttr
    - http_GetStatus
    - ObjCheckFlag
    linkageType: ''
    returnType: void
    signature: void resp_default_filter_list(void *arg, struct vsb *vsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:414,1
    - Dst: filter_on_ws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: resp_Get_Filter_List
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - filter_on_ws
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      resp_Get_Filter_List(struct req *req)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 424
    functionName: req_Empty_Filter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      req_Empty_Filter(struct req *req)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: req_filter_can
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int req_filter_can(struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - vcl
    - ','
    - in
    - ','
    - func
    - ','
    - cond
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 476
    functionName: FILTER_VAR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_VAR(vcl, in, func, cond, fld)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:74,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: rfc2616_time
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - strtoul
    - vct_issp
    linkageType: ''
    returnType: unsigned
    signature: unsigned rfc2616_time(const char *p)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:96,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:97,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:98,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:98,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:99,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:100,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:101,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:102,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:120,1
    - Dst: rfc2616_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:121,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:138,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:139,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:141,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:142,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:144,1
    - Dst: http_GetHdrField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:169,1
    - Dst: http_GetHdrField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:170,1
    - Dst: rfc2616_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:172,1
    - Dst: fabs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:189,1
    - Dst: http_GetHdrField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:218,1
    - Dst: rfc2616_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:220,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:223,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 6
    argNames:
    - bo
    - now
    - t_origin
    - ttl
    - grace
    - keep
    argTypes:
    - struct busyobj*
    - vtim_real
    - vtim_real*
    - float*
    - float*
    - float*
    assertStmts:
    - condition: (now != 0.0 && !isnan(now))
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    constantsTouched: []
    func_position:
      end: 228
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 228
    functionName: RFC2616_Ttl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - rfc2616_time
    - assert
    - isnan
    - VTIM_parse
    - http_GetStatus
    - http_GetHdrField
    - fabs
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void RFC2616_Ttl(struct busyobj *bo, vtim_real now, vtim_real *t_origin,\n
      \   float *ttl, float *grace, float *keep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdrToken
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:244,1
    - Dst: http_GetHdrQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 257
    functionName: RFC2616_Req_Gzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 1
    functionsReached:
    - http_GetHdrToken
    - http_GetHdrQ
    linkageType: ''
    returnType: unsigned
    signature: unsigned RFC2616_Req_Gzip(const struct http *hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - p
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: rfc2616_strong_compare
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rfc2616_strong_compare(const char *p, const char *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - p
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: rfc2616_weak_compare
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rfc2616_weak_compare(const char *p, const char *e)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: http_IsStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:290,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:297,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:298,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:300,1
    - Dst: rfc2616_strong_compare
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:301,1
    - Dst: rfc2616_weak_compare
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:303,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:306,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:307,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:310,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:311,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:316,1
    - Dst: ObjGetDouble
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:316,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 323
    functionName: RFC2616_Do_Cond
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - rfc2616_strong_compare
    - http_GetHdr
    - AZ
    - rfc2616_weak_compare
    - VTIM_parse
    - ObjGetDouble
    - http_IsStatus
    linkageType: ''
    returnType: int
    signature: int RFC2616_Do_Cond(const struct req *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:332,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:334,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:336,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:339,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 341
    functionName: RFC2616_Weaken_Etag
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - http_Unset
    - http_PrintfHeader
    linkageType: ''
    returnType: void
    signature: void RFC2616_Weaken_Etag(struct http *hp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdrToken
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:350,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:352,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:353,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:354,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: RFC2616_Vary_AE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - http_GetHdr
    - http_Unset
    - http_GetHdrToken
    - http_PrintfHeader
    - http_SetHeader
    linkageType: ''
    returnType: void
    signature: void RFC2616_Vary_AE(struct http *hp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:369,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:370,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:371,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:374,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:375,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:377,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:378,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:384,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c:385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - hp
    - wrk
    - oc
    argTypes:
    - struct http*
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 392
    functionName: RFC2616_Strong_LM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_ORNULL
    - VTIM_parse
    - HTTP_GetHdrPack
    - http_GetHdr
    linkageType: ''
    returnType: char
    signature: "char *\nRFC2616_Strong_LM(const struct http *hp, struct worker *wrk,\n
      \   struct objcore *oc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: PFD_State
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned PFD_State(const struct pfd *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: PFD_Fd
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: 'int *

      PFD_Fd(struct pfd *p)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:150,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:151,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pfd*
    assertStmts:
    - condition: (t_mono >= p->created)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: PFD_Age
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - VTIM_mono
    linkageType: ''
    returnType: vtim_dur
    signature: vtim_dur PFD_Age(const struct pfd *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: PFD_Reused
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t PFD_Reused(const struct pfd *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:168,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:169,1
    - Dst: struct pfd*::conn_pool::methods::local_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - p
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - struct pfd*
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: PFD_LocalName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - struct pfd*::conn_pool::methods::local_name
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void PFD_LocalName(const struct pfd *p, char *abuf, unsigned alen,
      char *pbuf,\n\t      unsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:177,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:178,1
    - Dst: struct pfd*::conn_pool::methods::remote_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - p
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - struct pfd*
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 180
    functionName: PFD_RemoteName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - struct pfd*::conn_pool::methods::remote_name
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void PFD_RemoteName(const struct pfd *p, char *abuf, unsigned alen,
      char *pbuf,\n\t       unsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct conn_pool*
    - struct conn_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: vcp_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int vcp_cmp(const struct conn_pool *a, const struct conn_pool *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:201,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:202,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:205,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:208,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:213,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:214,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:215,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:215,1
    - Dst: struct conn_pool*::methods::close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:218,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:219,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:221,1
    - Dst: struct conn_pool*::methods::close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:224,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:226,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:227,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:230,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - w
    - ev
    - now
    argTypes:
    - struct waited*
    - enum wait_event
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 233
    functionName: vcp_handle
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - struct conn_pool*::methods::close
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - memset
    - CAST_OBJ_NOTNULL
    - PTOK
    - Lck_Lock
    - WRONG
    - VTAILQ_REMOVE
    - pthread_cond_signal
    - free
    linkageType: ''
    returnType: void
    signature: void vcp_handle(struct waited *w, enum wait_event ev, vtim_real now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:242,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:244,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:245,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cp
    argTypes:
    - struct conn_pool*
    assertStmts:
    - condition: (cp->refcnt > 0)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: VCP_AddRef
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - assert
    - Lck_Unlock
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCP_AddRef(struct conn_pool *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:258,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:259,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:260,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:261,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:262,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cpp
    argTypes:
    - struct conn_pool**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 264
    functionName: vcp_destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - Lck_Delete
    - TAKE_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void vcp_destroy(struct conn_pool **cpp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:278,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:280,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:281,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:283,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:286,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:287,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:288,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:290,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:291,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:294,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:296,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:300,1
    - Dst: vcp_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:302,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:305,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:310,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - cpp
    argTypes:
    - struct conn_pool**
    assertStmts:
    - condition: (cp->refcnt > 0)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (pfd->state == PFD_STATE_AVAIL)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 312
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 312
    functionName: VCP_Rel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - VRBT_INSERT
    - vcp_destroy
    - VRBT_REMOVE
    - AZ
    - assert
    - Lck_Lock
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - shutdown
    linkageType: ''
    returnType: void
    signature: void VCP_Rel(struct conn_pool **cpp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:321,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:323,1
    - Dst: VRBT_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:324,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:325,1
    - Dst: VRBT_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:329,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:330,1
    - Dst: VRBT_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:332,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:333,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:334,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:336,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:339,1
    - Dst: vcp_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:340,1
    - Dst: VRBT_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:343,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:346,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:353,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 355
    functionName: VCP_RelPoll
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - VRBT_INSERT
    - VRBT_EMPTY
    - vcp_destroy
    - ASSERT_CLI
    - VRBT_REMOVE
    - VRBT_INIT
    - Lck_Lock
    - VRBT_FOREACH_SAFE
    linkageType: ''
    returnType: void
    signature: void VCP_RelPoll(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:368,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:369,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:371,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:373,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:374,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:376,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:381,1
    - Dst: Wait_Enter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:385,1
    - Dst: struct conn_pool*::methods::close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:386,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:387,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:388,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:392,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:398,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:400,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - wrk
    - pfdp
    argTypes:
    - struct worker*
    - struct pfd**
    assertStmts:
    - condition: (pfd->state == PFD_STATE_USED)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (pfd->fd > 0)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 416
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 416
    functionName: VCP_Recycle
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - struct conn_pool*::methods::close
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - memset
    - assert
    - Lck_Lock
    - DO_DEBUG
    - Wait_Enter
    - VTIM_sleep
    - free
    linkageType: ''
    returnType: void
    signature: void VCP_Recycle(const struct worker *wrk, struct pfd **pfdp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:428,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:429,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:432,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:434,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:438,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:440,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:446,1
    - Dst: struct conn_pool*::methods::open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:451,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:455,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:456,1
    - Dst: closefd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:460,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:492,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:493,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:499,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - cp
    - tmo
    - ap
    - err
    argTypes:
    - struct conn_pool*
    - vtim_dur
    - VCL_IP*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 502
    functionName: VCP_Open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - struct conn_pool*::methods::open
    - write
    - Lck_Lock
    - VTIM_mono
    - CHECK_OBJ
    - closefd
    linkageType: ''
    returnType: int
    signature: int VCP_Open(struct conn_pool *cp, vtim_dur tmo, VCL_IP *ap, int *err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:514,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:516,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:518,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:520,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:521,1
    - Dst: shutdown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:524,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:525,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:529,1
    - Dst: struct conn_pool*::methods::close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:530,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:531,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:532,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - pfdp
    argTypes:
    - struct pfd**
    assertStmts:
    - condition: (pfd->fd > 0)
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (pfd->state == PFD_STATE_USED || pfd->state == PFD_STATE_STOLEN)
      pos:
        line_end: 520
        line_start: 520
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (pfd->state == PFD_STATE_USED)
      pos:
        line_end: 528
        line_start: 528
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 535
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 535
    functionName: VCP_Close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - struct conn_pool*::methods::close
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - memset
    - assert
    - Lck_Lock
    - VTAILQ_REMOVE
    - free
    - shutdown
    linkageType: ''
    returnType: void
    signature: void VCP_Close(struct pfd **pfdp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:547,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:548,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:549,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:552,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:553,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:554,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:558,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:559,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:560,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:561,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:569,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:574,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:575,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:576,1
    - Dst: VCP_Open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:579,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:581,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:582,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:584,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 5
    argNames:
    - cp
    - tmo
    - wrk
    - force_fresh
    - err
    argTypes:
    - struct conn_pool*
    - vtim_dur
    - struct worker*
    - unsigned
    - int*
    assertStmts:
    - condition: (pfd->state == PFD_STATE_AVAIL)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (pfd->conn_pool == cp)
      pos:
        line_end: 557
        line_start: 557
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 591
      start: 541
    functionDepth: 2
    functionLinenumber: 541
    functionLinenumberEnd: 591
    functionName: VCP_Get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - Lck_Unlock
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - INIT_OBJ
    - VCP_Open
    - FREE_OBJ
    - assert
    - Lck_Lock
    - VTIM_mono
    - VTAILQ_REMOVE
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct pfd
    signature: "struct pfd *\nVCP_Get(struct conn_pool *cp, vtim_dur tmo, struct worker
      *wrk,\n    unsigned force_fresh, int *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:602,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:603,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:605,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:606,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:607,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:609,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:613,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:614,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:618,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - wrk
    - pfd
    - when
    argTypes:
    - struct worker*
    - struct pfd*
    - vtim_real
    assertStmts:
    - condition: (pfd->cond == &wrk->cond)
      pos:
        line_end: 605
        line_start: 605
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (r == ETIMEDOUT)
      pos:
        line_end: 612
        line_start: 612
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (pfd->state == PFD_STATE_USED)
      pos:
        line_end: 617
        line_start: 617
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 623
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 623
    functionName: VCP_Wait
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - Lck_CondWaitUntil
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: int
    signature: int VCP_Wait(struct worker *wrk, struct pfd *pfd, vtim_real when)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - struct pfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: VCP_GetIp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_IP
    signature: VCL_IP VCP_GetIp(struct pfd *pfd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:644,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:647,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:648,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:649,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:650,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:651,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:653,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:654,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:655,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:656,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:658,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - vsb
    - vep
    argTypes:
    - struct vsb*
    - struct vrt_endpoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 660
    functionName: vcp_panic_endpoint
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - VSB_printf
    - VSA_Sane
    - VSB_cat
    - VTCP_name
    linkageType: ''
    returnType: void
    signature: void vcp_panic_endpoint(struct vsb *vsb, const struct vrt_endpoint
      *vep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:666,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:668,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:669,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:670,1
    - Dst: vcp_panic_endpoint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:671,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:672,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vsb
    - cp
    argTypes:
    - struct vsb*
    - struct conn_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 674
    functionName: VCP_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - vcp_panic_endpoint
    - VSB_cat
    - VSB_quote
    linkageType: ''
    returnType: void
    signature: void VCP_Panic(struct vsb *vsb, struct conn_pool *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:681,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:682,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:684,1
    - Dst: VSC_vcp_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:685,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 687
    functionName: VCP_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - AN
    - VSC_vcp_New
    - Lck_New
    - AZ
    linkageType: ''
    returnType: void
    signature: void VCP_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tmo
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: tmo2msec
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: int
    signature: int tmo2msec(vtim_dur tmo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:703,1
    - Dst: tmo2msec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:705,1
    - Dst: VTCP_connect
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:708,1
    - Dst: VTCP_connect
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:713,1
    - Dst: VTCP_connect
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - cp
    - tmo
    - ap
    argTypes:
    - struct conn_pool*
    - vtim_dur
    - VCL_IP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 721
    functionName: vtp_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - VTCP_connect
    - tmo2msec
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vtp_open(const struct conn_pool *cp, vtim_dur tmo, VCL_IP *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:730,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - struct pfd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 732
    functionName: vtp_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VTCP_close
    linkageType: ''
    returnType: void
    signature: void vtp_close(struct pfd *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:738,1
    - Dst: VTCP_myname
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pfd
    - addr
    - alen
    - pbuf
    - plen
    argTypes:
    - struct pfd*
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: vtp_local_name
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - VTCP_myname
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vtp_local_name(const struct pfd *pfd, char *addr, unsigned alen,
      char *pbuf,\n\t       unsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:746,1
    - Dst: VTCP_hisname
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pfd
    - addr
    - alen
    - pbuf
    - plen
    argTypes:
    - struct pfd*
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 748
    functionName: vtp_remote_name
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - VTCP_hisname
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vtp_remote_name(const struct pfd *pfd, char *addr, unsigned alen,
      char *pbuf,\n\t\tunsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:766,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:767,1
    - Dst: tmo2msec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:769,1
    - Dst: VUS_connect
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cp
    - tmo
    - ap
    argTypes:
    - struct conn_pool*
    - vtim_dur
    - VCL_IP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: vus_open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - tmo2msec
    - AN
    - CHECK_OBJ_NOTNULL
    - VUS_connect
    linkageType: ''
    returnType: void
    signature: void vus_open(const struct conn_pool *cp, vtim_dur tmo, VCL_IP *ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:780,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:780,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:781,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:782,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pfd
    - addr
    - alen
    - pbuf
    - plen
    argTypes:
    - struct pfd*
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts:
    - condition: (alen > strlen("0.0.0.0"))
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (plen > 1)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 784
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 784
    functionName: vus_name
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - assert
    - strlen
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void vus_name(const struct pfd *pfd, char *addr, unsigned alen, char
      *pbuf,\n\t unsigned plen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:805,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:806,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:807,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:809,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:810,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:810,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:812,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:813,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:814,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:815,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:815,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:817,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:819,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:819,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:820,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:821,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:824,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:824,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:825,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:826,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:829,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:831,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:832,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:834,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:836,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:837,1
    - Dst: VRT_Endpoint_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:840,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:841,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:842,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:847,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:848,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:850,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:851,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:854,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:858,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:859,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:862,1
    - Dst: vcp_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c:864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 2
    argNames:
    - vep
    - ident
    argTypes:
    - struct vrt_endpoint*
    - char*
    assertStmts:
    - condition: (VSA_Sane(vep->ipv4))
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (vep->ipv4 != NULL || vep->ipv6 != NULL)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (VSA_Sane(vep->ipv6))
      pos:
        line_end: 823
        line_start: 823
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - condition: (cp2->refcnt > 0)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    constantsTouched: []
    func_position:
      end: 866
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 866
    functionName: VCP_Ref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    functionUses: 0
    functionsReached:
    - VSHA256_Init
    - VSA_Sane
    - strlen
    - Lck_New
    - AN
    - memcpy
    - VRBT_INSERT
    - vcp_destroy
    - VSHA256_Update
    - Lck_Lock
    - VTAILQ_INIT
    - VSHA256_Final
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VRT_Endpoint_Clone
    - CHECK_OBJ_ORNULL
    - Lck_Unlock
    - ALLOC_OBJ
    - CHECK_OBJ
    linkageType: ''
    returnType: struct conn_pool
    signature: 'struct conn_pool *

      VCP_Ref(const struct vrt_endpoint *vep, const char *ident)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - enum boc_state_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: boc_state_2str
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      boc_state_2str(enum boc_state_e e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: BOC_STATE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOC_STATE(U,l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:89,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - vsb
    - sc
    argTypes:
    - struct vsb*
    - stream_close_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: pan_stream_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void pan_stream_close(struct vsb *vsb, stream_close_t sc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:101,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - vsb
    - n
    - stv
    argTypes:
    - struct vsb*
    - char*
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: pan_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void pan_storage(struct vsb *vsb, const char *n, const struct stevedore
      *stv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:121,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:122,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:123,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:124,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:126,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:129,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:131,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:135,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:137,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:138,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:147,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:148,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:150,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:151,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 7
    argNames:
    - vsb
    - block
    - track
    - ptr
    - smagic
    - magic
    - fmt
    argTypes:
    - struct vsb*
    - int
    - int
    - void*
    - char*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 157
    functionName: PAN__DumpStruct
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - AN
    - VSB_putc
    - VSB_printf
    - VSB_cat
    - va_start
    - VSB_vprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: "int PAN__DumpStruct(struct vsb *vsb, int block, int track, const void
      *ptr,\n    const char *smagic, unsigned magic, const char *fmt, ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:165,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:168,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:169,1
    - Dst: pan_stream_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:170,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:171,1
    - Dst: WS_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:172,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:173,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:175,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:177,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:179,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:181,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:183,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:185,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - vsb
    - htc
    argTypes:
    - struct vsb*
    - struct http_conn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 187
    functionName: pan_htc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - WS_Panic
    - pan_stream_close
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void pan_htc(struct vsb *vsb, const struct http_conn *htc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:196,1
    - Dst: WS_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:198,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:199,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:200,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:204,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:207,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:208,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:209,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:210,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - vsb
    - id
    - h
    argTypes:
    - struct vsb*
    - char*
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: pan_http
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - WS_Panic
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void pan_http(struct vsb *vsb, const char *id, const struct http *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:218,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:220,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:221,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:222,1
    - Dst: boc_state_2str
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:222,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:223,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:224,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:225,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:226,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:227,1
    - Dst: VSLIST_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:227,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:228,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - vsb
    - boc
    argTypes:
    - struct vsb*
    - struct boc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 230
    functionName: pan_boc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - VSB_printf
    - boc_state_2str
    - VSB_cat
    - VSLIST_FIRST
    linkageType: ''
    returnType: void
    signature: void pan_boc(struct vsb *vsb, const struct boc *boc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:239,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:241,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:242,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:249,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:250,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:256,1
    - Dst: pan_boc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:259,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:260,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:262,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:263,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:265,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:266,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:267,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:268,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:270,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:271,1
    - Dst: struct objcore*::stobj::stevedore::panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:272,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:273,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:274,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:277,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:278,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - vsb
    - typ
    - oc
    argTypes:
    - struct vsb*
    - char*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 280
    functionName: pan_objcore
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - VSB_printf
    - struct objcore*::stobj::stevedore::panic
    - pan_boc
    - VSB_cat
    - strlen
    linkageType: ''
    returnType: void
    signature: void pan_objcore(struct vsb *vsb, const char *typ, const struct objcore
      *oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: OC_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OC_FLAG(U, l, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: OC_EXP_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OC_EXP_FLAG(U, l, v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:291,1
    - Dst: WS_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:293,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:296,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:298,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:302,1
    - Dst: VCL_Method_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:304,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:306,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:308,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:310,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:315,1
    - Dst: VCL_Method_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:315,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:320,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:321,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - vsb
    - wrk
    argTypes:
    - struct vsb*
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 323
    functionName: pan_wrk
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VCL_Method_Name
    - PAN_dump_struct
    - WS_Panic
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void pan_wrk(struct vsb *vsb, const struct worker *wrk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:330,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:332,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:333,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:334,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:335,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:336,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:338,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:339,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:340,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:341,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:342,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:343,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:344,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:345,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:346,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:347,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:348,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:350,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:351,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:354,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:355,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - vsb
    - vfc
    argTypes:
    - struct vsb*
    - struct vfp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 357
    functionName: pan_vfp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - VTAILQ_EMPTY
    - VSB_printf
    - VSB_cat
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void pan_vfp(struct vsb *vsb, const struct vfp_ctx *vfc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:365,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:367,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:368,1
    - Dst: pan_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:371,1
    - Dst: pan_sess
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:373,1
    - Dst: pan_wrk
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:376,1
    - Dst: pan_vfp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:379,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:381,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:385,1
    - Dst: WS_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:389,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:390,1
    - Dst: pan_http
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:394,1
    - Dst: pan_http
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:396,1
    - Dst: pan_objcore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:398,1
    - Dst: pan_objcore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:400,1
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:402,1
    - Dst: pan_htc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:403,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:407,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:416,1
    - Dst: pan_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:420,1
    - Dst: VDI_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:421,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:423,1
    - Dst: VDI_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:425,1
    - Dst: VCL_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:426,1
    - Dst: VPI_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:428,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:430,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:431,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - vsb
    - bo
    argTypes:
    - struct vsb*
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 432
    functionName: pan_busyobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - pan_sess
    - VCL_Panic
    - PAN_dump_struct
    - WS_Panic
    - VSB_printf
    - VDI_Panic
    - pan_htc
    - pan_wrk
    - pan_vfp
    - VSB_cat
    - VALID_OBJ
    - pan_storage
    - VPI_Panic
    - pan_http
    - pan_req
    - pan_objcore
    linkageType: ''
    returnType: void
    signature: void pan_busyobj(struct vsb *vsb, const struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: BERESP_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BERESP_FLAG(l, r, w, f, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: BEREQ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEREQ_FLAG(l, r, w, d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:439,1
    - Dst: pan_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:441,1
    - Dst: pan_privs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:442,1
    - Dst: VCL_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:443,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:444,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vsb
    - top
    argTypes:
    - struct vsb*
    - struct reqtop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: pan_top
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VCL_Panic
    - PAN_dump_struct
    - pan_privs
    - VSB_cat
    - pan_req
    linkageType: ''
    returnType: void
    signature: void pan_top(struct vsb *vsb, const struct reqtop *top)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:456,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:459,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:459,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:463,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:464,1
    - Dst: struct transport*::req_panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:465,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:466,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:467,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:469,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:471,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:473,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:476,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:480,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:484,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:488,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:492,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:495,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:498,1
    - Dst: pan_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:501,1
    - Dst: VDI_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:503,1
    - Dst: pan_sess
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:506,1
    - Dst: pan_wrk
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:510,1
    - Dst: WS_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:512,1
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:513,1
    - Dst: pan_htc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:514,1
    - Dst: pan_http
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:515,1
    - Dst: pan_http
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:517,1
    - Dst: VDP_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:519,1
    - Dst: VCL_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:521,1
    - Dst: VPI_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:523,1
    - Dst: pan_objcore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:526,1
    - Dst: pan_objcore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:528,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:530,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:531,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:534,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:535,1
    - Dst: pan_privs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:537,1
    - Dst: pan_top
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:540,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:542,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:543,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - vsb
    - req
    argTypes:
    - struct vsb*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 544
    functionName: pan_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 2
    functionsReached:
    - PAN_dump_struct
    - VSB_printf
    - pan_htc
    - VALID_OBJ
    - VDP_Panic
    - WS_Panic
    - struct transport*::req_panic
    - VCL_Panic
    - pan_privs
    - VDI_Panic
    - pan_wrk
    - VPI_Panic
    - pan_http
    - pan_objcore
    - VSB_indent
    - pan_top
    - VSB_cat
    - pan_storage
    - pan_sess
    - VXID
    linkageType: ''
    returnType: void
    signature: void pan_req(struct vsb *vsb, const struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: REQ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_FLAG(l, r, w, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vsb
    - ','
    - sp
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 559
    functionName: pan_addr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pan_addr(vsb, sp, field)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:567,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:569,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:570,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:571,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:572,1
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:574,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:575,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:576,1
    - Dst: WS_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:580,1
    - Dst: XPORT_ByNumber
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:581,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:582,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:585,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:586,1
    - Dst: struct transport*::sess_panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:587,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:588,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:589,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:591,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:594,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:595,1
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:596,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:597,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:600,1
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:602,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:603,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:605,1
    - Dst: pan_addr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:608,1
    - Dst: pan_addr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:609,1
    - Dst: pan_addr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:610,1
    - Dst: pan_addr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:611,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:613,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - vsb
    - sp
    argTypes:
    - struct vsb*
    - struct sess*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 615
    functionName: pan_sess
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 2
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - WS_Panic
    - struct transport*::sess_panic
    - VSB_printf
    - SES_Get_String_Attr
    - VSB_cat
    - VALID_OBJ
    - pan_addr
    - VXID
    - XPORT_ByNumber
    linkageType: ''
    returnType: void
    signature: void pan_sess(struct vsb *vsb, const struct sess *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:623,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:624,1
    - Dst: VBT_format
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:625,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 627
    functionName: pan_backtrace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VSB_cat
    - VBT_format
    linkageType: ''
    returnType: void
    signature: void pan_backtrace(struct vsb *vsb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getattr_np
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:637,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:637,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:640,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:641,1
    - Dst: pthread_attr_getguardsize
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:643,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:644,1
    - Dst: pthread_attr_getstack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:645,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:646,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:647,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:648,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:650,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:651,1
    - Dst: pthread_attr_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 653
    functionName: pan_threadattr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - VSB_indent
    - pthread_attr_getguardsize
    - VSB_printf
    - pthread_attr_destroy
    - VSB_cat
    - pthread_getattr_np
    - pthread_attr_getstack
    linkageType: ''
    returnType: void
    signature: void pan_threadattr(struct vsb *vsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:661,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:662,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:664,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:665,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:666,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:668,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 671
    functionName: pan_argv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VSB_printf
    - VSB_cat
    - VSB_quote
    linkageType: ''
    returnType: void
    signature: void pan_argv(struct vsb *vsb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:685,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:686,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:687,1
    - Dst: pthread_mutex_trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:692,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:694,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:697,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:697,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:699,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:699,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:706,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:708,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:711,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:715,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:719,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:723,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:729,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:735,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:741,1
    - Dst: VCS_String
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:742,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:743,1
    - Dst: Waiter_GetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:744,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:745,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:746,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:746,1
    - Dst: pan_backtrace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:748,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:751,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:751,1
    - Dst: pan_argv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:753,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:755,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:755,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:755,1
    - Dst: THR_GetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:757,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:759,1
    - Dst: pan_threadattr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:762,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:765,1
    - Dst: THR_GetRequest
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:766,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:767,1
    - Dst: pan_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:768,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:770,1
    - Dst: THR_GetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:771,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:772,1
    - Dst: pan_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:773,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:775,1
    - Dst: THR_GetWorker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:776,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:777,1
    - Dst: pan_wrk
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:778,1
    - Dst: VMOD_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:779,1
    - Dst: pan_pool
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:780,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:782,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:784,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:785,1
    - Dst: v_gcov_flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:787,1
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:794,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:795,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:796,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:796,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:797,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 5
    argNames:
    - func
    - file
    - line
    - cond
    - kind
    argTypes:
    - char*
    - char*
    - int
    - char*
    - enum vas_e
    assertStmts:
    - condition: (VSB_len(pan_vsb) == 0)
      pos:
        line_end: 696
        line_start: 696
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    constantsTouched: []
    func_position:
      end: 798
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 798
    functionName: pan_ic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - sleep
    - pan_backtrace
    - VAS_errtxt
    - VTIM_real
    - VSB_printf
    - pan_threadattr
    - THR_GetRequest
    - VMOD_Panic
    - abort
    - VTIM_mono
    - sigaction
    - pthread_mutex_trylock
    - pan_argv
    - VSB_putc
    - memset
    - VCS_String
    - pan_busyobj
    - pan_pool
    - pan_req
    - THR_GetName
    - AZ
    - assert
    - VSB_len
    - pan_wrk
    - TRUST_ME
    - PTOK
    - pthread_setspecific
    - pthread_self
    - v_gcov_flush
    - Waiter_GetName
    - THR_GetBusyobj
    - pthread_getspecific
    - VSL_Flush
    - THR_GetWorker
    - VSB_cat
    - FEATURE
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void pan_ic(const char *func, const char *file, int line, const char
      *cond,\n    enum vas_e kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:808,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:809,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:809,1
    - Dst: abort
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 812
    functionName: ccf_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - abort
    - strcmp
    - AZ
    linkageType: ''
    returnType: void
    signature: void ccf_panic(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:827,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:827,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:830,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:831,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:832,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:832,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:833,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:834,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:834,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:835,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 838
    functionName: PAN_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_init
    - VSB_finish
    - AZ
    - CLI_AddFuncs
    - PTOK
    - VSB_cat
    - VSB_clear
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void PAN_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:53,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:55,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ban_kick_lurker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    functionUses: 0
    functionsReached:
    - pthread_cond_signal
    - PTOK
    - Lck_AssertHeld
    linkageType: ''
    returnType: void
    signature: void ban_kick_lurker(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_HEAD_INITIALIZER
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:70,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:73,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:73,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:76,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:78,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:79,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:80,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:80,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:89,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:90,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:92,1
    - Dst: ban_info_drop
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:95,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:95,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:101,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:105,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:110,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:111,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:114,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:115,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:121,1
    - Dst: BAN_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - obans
    argTypes:
    - struct banhead_s*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&b->objcore))
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    constantsTouched: []
    func_position:
      end: 125
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 125
    functionName: ban_cleantail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    functionUses: 0
    functionsReached:
    - VTAILQ_HEAD_INITIALIZER
    - VTAILQ_FIRST
    - Lck_Unlock
    - AN
    - VTAILQ_INSERT_TAIL
    - VTAILQ_EMPTY
    - ban_len
    - VTAILQ_LAST
    - assert
    - Lck_Lock
    - ban_info_drop
    - BAN_Free
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void ban_cleantail(struct banhead_s *obans)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:146,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:148,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:150,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:153,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:155,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:157,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:162,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:163,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:166,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:170,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:171,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:172,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:173,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:175,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:176,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:180,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:181,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:184,1
    - Dst: Lck_Trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:185,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:187,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:196,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:197,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:200,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:208,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:210,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:211,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:212,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:217,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:221,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:222,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:227,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 2
    argNames:
    - vsl
    - bt
    argTypes:
    - struct vsl_log*
    - struct ban*
    assertStmts:
    - condition: (oc == &oc_mark_cnt)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    - condition: (oc != &oc_mark_cnt)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    - condition: (move_oc == 0)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    - condition: (oc != &oc_mark_end)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    constantsTouched: []
    func_position:
      end: 229
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 229
    functionName: ban_lurker_getfirst
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - Lck_Unlock
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VSL_Flush
    - VTAILQ_REMOVE
    - Lck_Trylock
    - assert
    - AZ
    - Lck_Lock
    - VTAILQ_NEXT
    - VTIM_sleep
    - VTAILQ_INSERT_BEFORE
    linkageType: ''
    returnType: struct objcore
    signature: 'struct objcore *

      ban_lurker_getfirst(struct vsl_log *vsl, struct ban *bt)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:241,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:246,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:247,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:249,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:250,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:252,1
    - Dst: Pool_TrySumstat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:258,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:259,1
    - Dst: ban_lurker_getfirst
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:262,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:265,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:266,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:269,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:274,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:288,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:294,1
    - Dst: ban_evaluate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:296,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:303,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:305,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:305,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:308,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:310,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:310,1
    - Dst: HSH_Kill
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:313,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:318,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:326,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:329,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:332,1
    - Dst: ObjSendEvent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:334,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:336,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 81
    argCount: 5
    argNames:
    - wrk
    - bt
    - obans
    - bd
    - kill
    argTypes:
    - struct worker*
    - struct ban*
    - struct banhead_s*
    - struct ban*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 338
    functionName: ban_lurker_test_ban
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    functionUses: 0
    functionsReached:
    - VTIM_sleep
    - VTAILQ_FIRST
    - Lck_Unlock
    - ObjGetXID
    - CHECK_OBJ_NOTNULL
    - ObjSendEvent
    - ban_lurker_getfirst
    - HSH_DerefObjCore
    - VTAILQ_REMOVE
    - AZ
    - ban_evaluate
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    - Pool_TrySumstat
    - HSH_Kill
    - VXID
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void ban_lurker_test_ban(struct worker *wrk, struct ban *bt,\n    struct
      banhead_s *obans, struct ban *bd, int kill)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:288,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:294,1
    - Dst: ban_evaluate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:296,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:303,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:305,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:305,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:308,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:310,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:310,1
    - Dst: HSH_Kill
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 316
    functionName: VTAILQ_FOREACH_REVERSE_SAFE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    functionUses: 0
    functionsReached:
    - ObjGetXID
    - AZ
    - VTAILQ_REMOVE
    - ban_evaluate
    - HSH_Kill
    - VXID
    - VSLb
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH_REVERSE_SAFE(bl, obans, banhead_s, l_list, bln)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:359,1
    - Dst: ban_cleantail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:363,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:369,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:371,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:372,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:374,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:375,1
    - Dst: ban_lurker_test_ban
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:377,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:383,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:386,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:388,1
    - Dst: ban_cleantail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:401,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:403,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:406,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:407,1
    - Dst: ban_mark_completed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:408,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:409,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 350
    functionDepth: 6
    functionLinenumber: 350
    functionLinenumberEnd: 411
    functionName: ban_lurker_work
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - Lck_Unlock
    - VTAILQ_FIRST
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - ban_time
    - ban_cleantail
    - Lck_Lock
    - ban_mark_completed
    - VTAILQ_NEXT
    - ban_lurker_test_ban
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: vtim_dur
    signature: vtim_dur ban_lurker_work(struct worker *wrk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:420,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:421,1
    - Dst: VSL_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:423,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:424,1
    - Dst: ban_lurker_work
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:428,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:429,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:430,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:431,1
    - Dst: Pool_Sumstat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:433,1
    - Dst: Lck_CondWaitTimeout
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:434,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:439,1
    - Dst: VSL_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:442,1
    - Dst: pthread_exit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:443,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:444,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 7
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: ban_lurker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
    functionUses: 0
    functionsReached:
    - VSL_Free
    - VSL_Alloc
    - Lck_Unlock
    - return
    - CHECK_OBJ_NOTNULL
    - Lck_CondWaitTimeout
    - NEEDLESS
    - AZ
    - ban_lurker_work
    - Lck_Lock
    - DO_DEBUG
    - pthread_exit
    - Pool_Sumstat
    - VSLb
    linkageType: ''
    returnType: void
    signature: void ban_lurker(struct worker *wrk, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: VBE_AHEALTH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBE_AHEALTH(l,u,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: vdi_str2ahealth
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct vdi_ahealth
    signature: 'struct vdi_ahealth *

      vdi_str2ahealth(const char *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: VBE_AHEALTH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBE_AHEALTH(l,u,h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:73,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct director*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: VDI_Ahealth
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VDI_Ahealth(const struct director *d)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:87,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:90,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:91,1
    - Dst: VCL_BACKEND::vdir::methods::resolve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:94,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:99,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 102
    functionName: VRT_DirectorResolve
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VCL_BACKEND::vdir::methods::resolve
    - AN
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VRT_DirectorResolve(VRT_CTX, VCL_BACKEND d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:110,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:112,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:115,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:119,1
    - Dst: VRT_DirectorResolve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:120,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 127
    functionName: VDI_Resolve
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VRT_DirectorResolve
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VDI_Resolve(VRT_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:138,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:139,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:140,1
    - Dst: VDI_Resolve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:142,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:144,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:145,1
    - Dst: struct director*::vdir::methods::gethdrs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 152
    functionName: VDI_GetHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VDI_Resolve
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VCL_Bo2Ctx
    - VRT_Assign_Backend
    - struct director*::vdir::methods::gethdrs
    linkageType: ''
    returnType: int
    signature: int VDI_GetHdr(struct busyobj *bo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:162,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:163,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:164,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:167,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:168,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:170,1
    - Dst: struct director*::vdir::methods::getip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts:
    - condition: "(bo->director_state == DIR_S_HDRS ||\n\t   bo->director_state ==
        DIR_S_BODY)"
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: VDI_GetIP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VCL_Bo2Ctx
    - struct director*::vdir::methods::getip
    - AZ
    - assert
    linkageType: ''
    returnType: VCL_IP
    signature: VCL_IP VDI_GetIP(struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:184,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:185,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:186,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:189,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:192,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:194,1
    - Dst: struct director*::vdir::methods::finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts:
    - condition: (bo->director_state != DIR_S_NULL)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: VDI_Finish
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VCL_Bo2Ctx
    - struct director*::vdir::methods::finish
    - AZ
    - assert
    linkageType: ''
    returnType: void
    signature: void VDI_Finish(struct busyobj *bo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:207,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:208,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:209,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:210,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:211,1
    - Dst: VDI_Resolve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:213,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:215,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:218,1
    - Dst: struct director*::vdir::methods::http1pipe
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - req
    - bo
    argTypes:
    - struct req*
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: VDI_Http1Pipe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VDI_Resolve
    - INIT_OBJ
    - VCL_Req2Ctx
    - CHECK_OBJ_NOTNULL
    - VCL_Bo2Ctx
    - struct director*::vdir::methods::http1pipe
    - VRT_Assign_Backend
    - VSLb
    linkageType: ''
    returnType: stream_close_t
    signature: stream_close_t VDI_Http1Pipe(struct req *req, struct busyobj *bo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:235,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:238,1
    - Dst: VCL_BACKEND::vdir::methods::healthy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - d
    - changed
    argTypes:
    - VCL_BACKEND
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 253
    functionName: VRT_Healthy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VCL_BACKEND::vdir::methods::healthy
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_Healthy(VRT_CTX, VCL_BACKEND d, VCL_TIME *changed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - d
    - changed
    argTypes:
    - VCL_BACKEND
    - VCL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: VRT_SetChanged
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_SetChanged(VCL_BACKEND d, VCL_TIME changed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:275,1
    - Dst: struct director*::vdir::methods::event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - d
    - ev
    argTypes:
    - struct director*
    - enum vcl_event_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: VDI_Event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - struct director*::vdir::methods::event
    linkageType: ''
    returnType: void
    signature: void VDI_Event(const struct director *d, enum vcl_event_e ev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:288,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:289,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:290,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:291,1
    - Dst: VDI_Ahealth
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:292,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:293,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:294,1
    - Dst: struct director*::vdir::methods::panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:296,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:297,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:298,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:299,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - d
    - vsb
    - nm
    argTypes:
    - struct director*
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 301
    functionName: VDI_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 2
    functionsReached:
    - VSB_indent
    - VDI_Ahealth
    - VSB_printf
    - struct director*::vdir::methods::panic
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void VDI_Panic(const struct director *d, struct vsb *vsb, const char
      *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct director*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: cli_health
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VRT_Healthy
    linkageType: ''
    returnType: char
    signature: 'char *

      cli_health(VRT_CTX, const struct director *d)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:331,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:332,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:333,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:334,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:335,1
    - Dst: VCL_Get_CliCtx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:340,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:342,1
    - Dst: VDI_Ahealth
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:342,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:345,1
    - Dst: struct director*::vdir::methods::list
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:346,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:347,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:347,1
    - Dst: VTE_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:348,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:348,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:350,1
    - Dst: cli_health
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:350,1
    - Dst: VTE_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:352,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:354,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:355,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:357,1
    - Dst: struct director*::vdir::methods::list
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:358,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:359,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:359,1
    - Dst: VTE_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:360,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:360,1
    - Dst: VTE_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:363,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:364,1
    - Dst: VCL_Rel_CliCtx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:364,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - cli
    - d
    - priv
    argTypes:
    - struct cli*
    - struct director*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 368
    functionName: do_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - AN
    - VTIM_format
    - CHECK_OBJ_NOTNULL
    - struct director*::vdir::methods::list
    - VDI_Ahealth
    - VSB_finish
    - VSB_data
    - VCL_Rel_CliCtx
    - VTE_printf
    - CAST_OBJ_NOTNULL
    - AZ
    - VCL_Get_CliCtx
    - VSB_clear
    - VTE_cat
    - cli_health
    linkageType: ''
    returnType: void
    signature: void do_list(struct cli *cli, struct director *d, void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:376,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:377,1
    - Dst: VCL_Get_CliCtx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:382,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:384,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:386,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:387,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:388,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:389,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:390,1
    - Dst: VDI_Ahealth
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:390,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:391,1
    - Dst: struct director*::vdir::methods::list
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:393,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:395,1
    - Dst: cli_health
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:395,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:397,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:399,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:402,1
    - Dst: struct director*::vdir::methods::list
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:403,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:405,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:406,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:407,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:409,1
    - Dst: VCL_Rel_CliCtx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:409,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - cli
    - d
    - priv
    argTypes:
    - struct cli*
    - struct director*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 413
    functionName: do_list_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - CHECK_OBJ_NOTNULL
    - VDI_Ahealth
    - VCLI_Out
    - VCL_Rel_CliCtx
    - VCLI_JSON_str
    - CAST_OBJ_NOTNULL
    - AZ
    - VCL_Get_CliCtx
    - struct director*::vdir::methods::list
    - cli_health
    linkageType: ''
    returnType: void
    signature: void do_list_json(struct cli *cli, struct director *d, void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:423,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:424,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:432,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:433,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:439,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:440,1
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:444,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:445,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:446,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:447,1
    - Dst: VCL_IterDirector
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:448,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:449,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:450,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:451,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:452,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:454,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:455,1
    - Dst: VTE_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:456,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:457,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:458,1
    - Dst: VCL_IterDirector
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:460,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:461,1
    - Dst: VTE_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:461,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:462,1
    - Dst: VTE_format
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:462,1
    - Dst: VTE_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:463,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 466
    functionName: cli_backend_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VTE_new
    - AN
    - INIT_OBJ
    - VCLI_SetResult
    - VTE_destroy
    - VCLI_Out
    - VCLI_JSON_end
    - ASSERT_CLI
    - VTE_printf
    - AZ
    - VTE_format
    - VCL_IterDirector
    - VCLI_JSON_begin
    - VTE_finish
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void cli_backend_list(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:482,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:483,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:488,1
    - Dst: VDI_Event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cli
    - d
    - priv
    argTypes:
    - struct cli*
    - struct director*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 493
    functionName: do_set_health
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    - VDI_Event
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void do_set_health(struct cli *cli, struct director *d, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:503,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:504,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:505,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:506,1
    - Dst: vdi_str2ahealth
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:507,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:509,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:510,1
    - Dst: VCL_IterDirector
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:513,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:515,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 518
    functionName: cli_backend_set_health
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - VCLI_SetResult
    - VCLI_Out
    - ASSERT_CLI
    - vdi_str2ahealth
    - VCL_IterDirector
    linkageType: ''
    returnType: void
    signature: void cli_backend_set_health(struct cli *cli, const char * const *av,
      void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_director.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: VDI_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    functionUses: 0
    functionsReached:
    - CLI_AddFuncs
    linkageType: ''
    returnType: void
    signature: void VDI_Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct vmod_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: vmod_abi_mismatch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: unsigned
    signature: unsigned vmod_abi_mismatch(const struct vmod_data *d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:94,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:95,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:96,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:97,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:98,1
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:100,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:102,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:104,1
    - Dst: dlerror
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:104,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:108,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:112,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:113,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:117,1
    - Dst: dlsym
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:118,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:121,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:122,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:124,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:127,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:128,1
    - Dst: vmod_abi_mismatch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:131,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:133,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:138,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:140,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:141,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:142,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:155,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:156,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:157,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:160,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:163,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 8
    argNames:
    - hdl
    - nbr
    - ptr
    - len
    - nm
    - path
    - file_id
    - backup
    argTypes:
    - struct vmod**
    - unsigned
    - void*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (len == v->funclen)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    constantsTouched: []
    func_position:
      end: 169
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 169
    functionName: VPI_Vmod_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - ASSERT_CLI
    - vmod_abi_mismatch
    - VTAILQ_INSERT_TAIL
    - AN
    - memcpy
    - FREE_OBJ
    - REPLACE
    - dlerror
    - VTAILQ_FOREACH
    - CHECK_OBJ_NOTNULL
    - bprintf
    - AZ
    - strcmp
    - assert
    - dlsym
    - dlopen
    - VSB_cat
    - dlclose
    - ALLOC_OBJ
    linkageType: ''
    returnType: int
    signature: "int VPI_Vmod_Init(VRT_CTX, struct vmod **hdl, unsigned nbr, void *ptr,
      int len,\n    const char *nm, const char *path, const char *file_id, const char
      *backup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:176,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:178,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:180,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:181,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:189,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:189,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:193,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:194,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:195,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:196,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - hdl
    argTypes:
    - struct vmod**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 199
    functionName: VPI_Vmod_Unload
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - ASSERT_CLI
    - AZ
    - VTAILQ_REMOVE
    - dlclose
    - VCL_TaskLeave
    - free
    - VCL_TaskEnter
    linkageType: ''
    returnType: void
    signature: void VPI_Vmod_Unload(VRT_CTX, struct vmod **hdl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: nvl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nvl(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:208,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:209,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:210,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:211,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:212,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:213,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:215,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:216,1
    - Dst: nvl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:216,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:217,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:218,1
    - Dst: nvl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:218,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:219,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:220,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:223,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: VMOD_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    functionUses: 1
    functionsReached:
    - VSB_indent
    - VSB_printf
    - nvl
    - VSB_cat
    - VSB_quote
    - VSB_bcat
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void VMOD_Panic(struct vsb *vsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:236,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:237,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: ccf_debug_vmod
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - VTAILQ_FOREACH
    - ASSERT_CLI
    linkageType: ''
    returnType: void
    signature: void ccf_debug_vmod(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: VMOD_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    functionUses: 0
    functionsReached:
    - CLI_AddFuncs
    linkageType: ''
    returnType: void
    signature: void VMOD_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vg
    argTypes:
    - struct vgz*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: vgz_msg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      vgz_msg(const struct vgz *vg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:91,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:92,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:103,1
    - Dst: inflateInit2
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - vsl
    - id
    argTypes:
    - struct vsl_log*
    - char*
    assertStmts:
    - condition: (Z_OK == inflateInit2(&vg->vz, 31))
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: vgz_gunzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - assert
    - inflateInit2
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vgz
    signature: 'struct vgz *

      vgz_gunzip(struct vsl_log *vsl, const char *id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vgz_gunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsl
    - id
    argTypes:
    - struct vsl_log*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: VGZ_NewGunzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - vgz_gunzip
    linkageType: ''
    returnType: struct vgz
    signature: 'struct vgz *

      VGZ_NewGunzip(struct vsl_log *vsl, const char *id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vgz_gunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsl
    - id
    argTypes:
    - struct vsl_log*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: VGZ_NewTestGunzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - vgz_gunzip
    linkageType: ''
    returnType: struct vgz
    signature: 'struct vgz *

      VGZ_NewTestGunzip(struct vsl_log *vsl, const char *id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:128,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:129,1
    - Dst: deflateInit2
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:144,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - vsl
    - id
    argTypes:
    - struct vsl_log*
    - char*
    assertStmts:
    - condition: (Z_OK == i)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 152
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: VGZ_NewGzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - deflateInit2
    - AN
    - ALLOC_OBJ
    - assert
    linkageType: ''
    returnType: struct vgz
    signature: 'struct vgz *

      VGZ_NewGzip(struct vsl_log *vsl, const char *id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:162,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:163,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:164,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:165,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:166,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:167,1
    - Dst: STV_AllocBuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:169,1
    - Dst: STV_GetBufPtr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:174,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - wrk
    - vg
    argTypes:
    - struct worker*
    - struct vgz*
    assertStmts:
    - condition: (vg->m_sz > 0)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: vgz_getmbuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - STV_GetBufPtr
    - STV_AllocBuf
    linkageType: ''
    returnType: int
    signature: int vgz_getmbuf(struct worker *wrk, struct vgz *vg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:185,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:186,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:187,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:189,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - vg
    - ptr
    - len
    argTypes:
    - struct vgz*
    - void*
    - ssize_t
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: VGZ_Ibuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - TRUST_ME
    linkageType: ''
    returnType: void
    signature: void VGZ_Ibuf(struct vgz *vg, const void *ptr, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vg
    argTypes:
    - struct vgz*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: VGZ_IbufEmpty
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VGZ_IbufEmpty(const struct vgz *vg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:209,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:210,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - vg
    - ptr
    - len
    argTypes:
    - struct vgz*
    - void*
    - ssize_t
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: VGZ_Obuf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VGZ_Obuf(struct vgz *vg, void *ptr, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vg
    argTypes:
    - struct vgz*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: VGZ_ObufFull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VGZ_ObufFull(const struct vgz *vg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:234,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:238,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:239,1
    - Dst: inflate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:241,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:254,1
    - Dst: vgz_msg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - vg
    - pptr
    - plen
    argTypes:
    - struct vgz*
    - void**
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: VGZ_Gunzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - inflate
    - CHECK_OBJ_NOTNULL
    - VSLb
    - vgz_msg
    linkageType: ''
    returnType: enum vgzret_e
    signature: enum vgzret_e VGZ_Gunzip(struct vgz *vg, const void **pptr, ssize_t
      *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:263,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:263,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:264,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vg
    - in
    - buf
    argTypes:
    - struct vgz*
    - struct iovec*
    - struct iovec*
    assertStmts:
    - condition: (vg->vz.avail_in == 0 || vg->vz.next_in == TRUST_ME(in->iov_base))
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: vgz_iovec_update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - assert
    - TRUST_ME
    linkageType: ''
    returnType: void
    signature: void vgz_iovec_update(struct vgz *vg, const struct iovec *in, const
      struct iovec *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:275,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:276,1
    - Dst: vgz_iovec_update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:277,1
    - Dst: inflate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:279,1
    - Dst: iovec_collect
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:281,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:281,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:282,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:292,1
    - Dst: vgz_msg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - vg
    - in
    - buf
    - out
    argTypes:
    - struct vgz*
    - struct iovec*
    - struct iovec*
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 294
    functionName: vgz_gunzip_iovec
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - inflate
    - CHECK_OBJ_NOTNULL
    - iovec_collect
    - vgz_msg
    - TRUST_ME
    - pdiff
    - vgz_iovec_update
    - VSLb
    linkageType: ''
    returnType: enum vgzret_e
    signature: enum vgzret_e vgz_gunzip_iovec(struct vgz *vg, struct iovec *in, struct
      iovec *buf, struct iovec *out)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:306,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:310,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:311,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:318,1
    - Dst: deflate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:320,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:333,1
    - Dst: vgz_msg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - vg
    - pptr
    - plen
    - flags
    argTypes:
    - struct vgz*
    - void**
    - ssize_t*
    - enum vgz_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 335
    functionName: VGZ_Gzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vgz_msg
    - WRONG
    - deflate
    - VSLb
    linkageType: ''
    returnType: enum vgzret_e
    signature: enum vgzret_e VGZ_Gzip(struct vgz *vg, const void **pptr, ssize_t *plen,
      enum vgz_flag flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:349,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:350,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:351,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:352,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:353,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:354,1
    - Dst: VGZ_NewGunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:356,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:357,1
    - Dst: vgz_getmbuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:358,1
    - Dst: VGZ_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:359,1
    - Dst: VGZ_Obuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:363,1
    - Dst: vdp_gunzip_init_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 366
    functionName: vdp_gunzip_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - VGZ_NewGunzip
    - vgz_getmbuf
    - AN
    - VGZ_Obuf
    - CHECK_OBJ_NOTNULL
    - vdp_gunzip_init_common
    - VGZ_Destroy
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void vdp_gunzip_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:376,1
    - Dst: HSH_RefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:383,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:385,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:387,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:392,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - vdc
    argTypes:
    - struct vdp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 4
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: vdp_gunzip_init_common
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 1
    functionsReached:
    - HSH_DerefBoc
    - vbe64dec
    - http_Unset
    - HSH_RefBoc
    - ObjGetAttr
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: int vdp_gunzip_init_common(struct vdp_ctx *vdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:407,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:408,1
    - Dst: VGZ_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: vdp_gunzip_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - AN
    - VGZ_Destroy
    linkageType: ''
    returnType: void
    signature: void vdp_gunzip_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:422,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:423,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:426,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:427,1
    - Dst: VGZ_Ibuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:432,1
    - Dst: VGZ_Gunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:434,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:435,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:436,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:445,1
    - Dst: VGZ_Obuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:449,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:451,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts:
    - condition: (vr == VGZ_STUCK || vr == VGZ_OK || vr == VGZ_END)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 454
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 454
    functionName: vdp_gunzip_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - VGZ_Obuf
    - CHECK_OBJ_NOTNULL
    - VGZ_IbufEmpty
    - VGZ_Ibuf
    - VGZ_Gunzip
    - CAST_OBJ_NOTNULL
    - assert
    - VDP_bytes
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void vdp_gunzip_bytes(struct vdp_ctx *vdc, enum vdp_action act, void
      **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:466,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:467,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:468,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:469,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:470,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:471,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:472,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:477,1
    - Dst: VSCARAB_SIZE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:477,1
    - Dst: VSCARAB_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:480,1
    - Dst: VGZ_NewGunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:482,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:486,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:490,1
    - Dst: vdp_gunzip_init_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - vdc
    - priv
    - capacity
    argTypes:
    - struct vdp_ctx*
    - void**
    - int
    assertStmts:
    - condition: (capacity >= 1)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 492
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 492
    functionName: vdpio_gunzip_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - VGZ_NewGunzip
    - AN
    - VSCARAB_INIT
    - CHECK_OBJ_NOTNULL
    - WS_Alloc
    - AZ
    - assert
    - vdp_gunzip_init_common
    - VSCARAB_SIZE
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void vdpio_gunzip_init(VRT_CTX, struct vdp_ctx *vdc, void **priv, int
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:501,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:502,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:503,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:504,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:510,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:512,1
    - Dst: VSCARAB_SIZE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:512,1
    - Dst: VSCARAB_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:515,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:518,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:519,1
    - Dst: STV_FreeBuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - vdc
    - priv
    - capacity
    argTypes:
    - struct vdp_ctx*
    - void**
    - int
    assertStmts:
    - condition: (capacity >= 1)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 525
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 525
    functionName: vdpio_gunzip_upgrade
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - VSCARAB_INIT
    - CHECK_OBJ_NOTNULL
    - WS_Alloc
    - CAST_OBJ_NOTNULL
    - assert
    - VSCARAB_SIZE
    - STV_FreeBuf
    linkageType: ''
    returnType: void
    signature: void vdpio_gunzip_upgrade(VRT_CTX, struct vdp_ctx *vdc, void **priv,
      int capacity)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:536,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:537,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:538,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:539,1
    - Dst: vdpio_pull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:547,1
    - Dst: VSCARAB_LOCAL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:557,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:558,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:559,1
    - Dst: ObjVAIbuffer
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:561,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:565,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:566,1
    - Dst: vgz_gunzip_iovec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:571,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:573,1
    - Dst: vdpio_return_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:589,1
    - Dst: vdpio_consolidate_vscarab
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:596,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - vdc
    - this
    - out
    argTypes:
    - struct vdp_ctx*
    - struct vdp_entry*
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 601
    functionName: vdpio_gunzip_lease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - vdpio_consolidate_vscarab
    - CHECK_OBJ_NOTNULL
    - VSCARAB_LOCAL
    - vdpio_pull
    - VSCARAB_GET
    - CAST_OBJ_NOTNULL
    - vdpio_return_lease
    - vgz_gunzip_iovec
    - ObjVAIbuffer
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vdpio_gunzip_lease(struct vdp_ctx *vdc, struct vdp_entry *this,
      struct vscarab *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vgz_gunzip_iovec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:571,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 4
    functionsReached:
    - vgz_gunzip_iovec
    - VSLb
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH(v, in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:610,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:611,1
    - Dst: VGZ_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: vdpio_gunzip_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - VGZ_Destroy
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdpio_gunzip_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:639,1
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:646,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:647,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:648,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:649,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:650,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:654,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - vc
    - vg
    - e
    argTypes:
    - struct vfp_ctx*
    - struct vgz*
    - enum vgzret_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 657
    functionName: VGZ_UpdateObj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - ObjSetAttr
    - AN
    - CHECK_OBJ_NOTNULL
    - vbe64enc
    linkageType: ''
    returnType: void
    signature: void VGZ_UpdateObj(const struct vfp_ctx *vc, struct vgz *vg, enum vgzret_e
      e)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:669,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:670,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:671,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:672,1
    - Dst: deflateEnd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:680,1
    - Dst: inflateEnd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:682,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:686,1
    - Dst: STV_FreeBuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:687,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:689,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:697,1
    - Dst: vgz_msg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:698,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:701,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - wrk
    - vgp
    argTypes:
    - struct worker*
    - struct vgz**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 703
    functionName: VGZ_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 3
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - AN
    - CHECK_OBJ_NOTNULL
    - inflateEnd
    - FREE_OBJ
    - deflateEnd
    - AZ
    - vgz_msg
    - STV_FreeBuf
    - VSLb
    linkageType: ''
    returnType: enum vgzret_e
    signature: enum vgzret_e VGZ_Destroy(struct worker *wrk, struct vgz **vgp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:712,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:713,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:714,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:720,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:724,1
    - Dst: VGZ_NewGzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:726,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:729,1
    - Dst: VGZ_NewGunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:732,1
    - Dst: VGZ_NewTestGunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:736,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:740,1
    - Dst: vgz_getmbuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:742,1
    - Dst: VGZ_Ibuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:744,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:745,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:748,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:749,1
    - Dst: RFC2616_Weaken_Etag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:750,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:754,1
    - Dst: RFC2616_Vary_AE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:757,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - vc
    - vfe
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 760
    functionName: vfp_gzip_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - VGZ_NewGunzip
    - vgz_getmbuf
    - AN
    - RFC2616_Vary_AE
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - http_Unset
    - http_SetHeader
    - VGZ_Ibuf
    - AZ
    - VGZ_NewTestGunzip
    - http_GetStatus
    - VGZ_NewGzip
    - RFC2616_Weaken_Etag
    - http_HdrIs
    linkageType: ''
    returnType: void
    signature: void vfp_gzip_init(VRT_CTX, struct vfp_ctx *vc, struct vfp_entry *vfe)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:779,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:780,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:781,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:782,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:783,1
    - Dst: VGZ_Obuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:786,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:788,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:790,1
    - Dst: VGZ_Ibuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:793,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:795,1
    - Dst: VGZ_Gunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:796,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:797,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:798,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:800,1
    - Dst: vgz_msg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:801,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:804,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:808,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:808,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:811,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts:
    - condition: (dp == p)
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 813
      start: 769
    functionDepth: 9
    functionLinenumber: 769
    functionLinenumberEnd: 813
    functionName: vfp_gunzip_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - VGZ_Obuf
    - CHECK_OBJ_NOTNULL
    - VGZ_IbufEmpty
    - VGZ_Ibuf
    - CAST_OBJ_NOTNULL
    - VFP_Suck
    - VGZ_Gunzip
    - assert
    - VFP_Error
    - vgz_msg
    linkageType: ''
    returnType: void
    signature: "void vfp_gunzip_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void
      *p,\n    ssize_t *lp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:833,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:834,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:835,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:836,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:837,1
    - Dst: VGZ_Obuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:840,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:842,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:844,1
    - Dst: VGZ_Ibuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:849,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:851,1
    - Dst: VGZ_Gzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:852,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:854,1
    - Dst: VGZ_UpdateObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:856,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:858,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:859,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:863,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:863,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:867,1
    - Dst: VGZ_UpdateObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:868,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts:
    - condition: (dp == p)
      pos:
        line_end: 857
        line_start: 857
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    constantsTouched: []
    func_position:
      end: 870
      start: 823
    functionDepth: 9
    functionLinenumber: 823
    functionLinenumberEnd: 870
    functionName: vfp_gzip_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - VGZ_Obuf
    - CHECK_OBJ_NOTNULL
    - VGZ_IbufEmpty
    - VGZ_Ibuf
    - VGZ_Gzip
    - CAST_OBJ_NOTNULL
    - VFP_Suck
    - assert
    - VGZ_UpdateObj
    - VFP_Error
    linkageType: ''
    returnType: void
    signature: "void vfp_gzip_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void
      *p,\n    ssize_t *lp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:889,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:890,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:891,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:892,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:893,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:894,1
    - Dst: VGZ_Ibuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:898,1
    - Dst: VGZ_Obuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:900,1
    - Dst: VGZ_Gunzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:901,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:902,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:903,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:905,1
    - Dst: vgz_msg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:906,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:907,1
    - Dst: VGZ_UpdateObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:909,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:911,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 880
    functionDepth: 9
    functionLinenumber: 880
    functionLinenumberEnd: 913
    functionName: vfp_testgunzip_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - AN
    - VGZ_Obuf
    - CHECK_OBJ_NOTNULL
    - VGZ_IbufEmpty
    - VGZ_Ibuf
    - CAST_OBJ_NOTNULL
    - VFP_Suck
    - VGZ_Gunzip
    - VGZ_UpdateObj
    - VFP_Error
    - vgz_msg
    linkageType: ''
    returnType: void
    signature: "void vfp_testgunzip_pull(struct vfp_ctx *vc, struct vfp_entry *vfe,
      void *p,\n    ssize_t *lp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:922,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:923,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:926,1
    - Dst: VGZ_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vc
    - vfe
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 929
    functionName: vfp_gzip_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - VGZ_Destroy
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vfp_gzip_fini(struct vfp_ctx *vc, struct vfp_entry *vfe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - U
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: FETCH_STEP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH_STEP(l, U)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:82,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:84,1
    - Dst: STV_NewObject
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:104,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:115,1
    - Dst: STV_NewObject
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - bo
    - l
    argTypes:
    - struct busyobj*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 119
    functionName: vbf_allocobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - STV_NewObject
    - vmin_t
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vbf_allocobj(struct busyobj *bo, unsigned l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:126,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:128,1
    - Dst: VFP_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:130,1
    - Dst: VDI_Finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: vbf_cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - VFP_Close
    - VDI_Finish
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbf_cleanup(struct busyobj *bo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:142,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:144,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:147,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:152,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:153,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:154,1
    - Dst: HTTP_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:155,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:158,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (bo->htc->body_status != BS_TAKEN)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: Bereq_Rollback
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - WS_Rollback
    - AN
    - CHECK_OBJ_NOTNULL
    - vbf_cleanup
    - assert
    - VCL_TaskLeave
    - HTTP_Clone
    - VCL_TaskEnter
    linkageType: ''
    returnType: void
    signature: void Bereq_Rollback(VRT_CTX)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:176,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:178,1
    - Dst: VRY_Create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:184,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:186,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:187,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:187,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:188,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:194,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:198,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:201,1
    - Dst: http_EstimateWS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:204,1
    - Dst: vbf_allocobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:211,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:213,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:214,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:215,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:219,1
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:219,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:219,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:220,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:223,1
    - Dst: ObjSetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:223,1
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:229,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:230,1
    - Dst: HTTP_Encode
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:231,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:234,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:235,1
    - Dst: ObjSetDouble
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:235,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:235,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:237,1
    - Dst: ObjSetDouble
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:237,1
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts:
    - condition: (varyl == VSB_len(vary))
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 241
      start: 166
    functionDepth: 8
    functionLinenumber: 166
    functionLinenumberEnd: 241
    functionName: vbf_beresp2obj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - http_GetHdr
    - ObjSetDouble
    - VTIM_parse
    - HTTP_Encode
    - VSLb
    - vbf_allocobj
    - floor
    - VRY_Create
    - AN
    - http_EstimateWS
    - VSB_data
    - VFP_Error
    - ObjSetXID
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VSB_len
    - ObjSetAttr
    - PRNDUP
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int vbf_beresp2obj(struct busyobj *bo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:253,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:254,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:255,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:257,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:259,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:260,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:262,1
    - Dst: http_FilterReq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:263,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:267,1
    - Dst: http_ForceField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:269,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:271,1
    - Dst: http_ForceField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:273,1
    - Dst: ObjCheckFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:276,1
    - Dst: ObjGetLen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:277,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:278,1
    - Dst: RFC2616_Strong_LM
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:279,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:281,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:283,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:285,1
    - Dst: http_CopyHome
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:289,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:290,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:291,1
    - Dst: HTTP_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:292,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:295,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:297,1
    - Dst: HSH_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:299,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:300,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (oc->boc->state == BOS_INVALID)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 303
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 303
    functionName: vbf_stp_mkbereq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - http_ForceHeader
    - http_ForceField
    - WS_Snapshot
    - AN
    - CHECK_OBJ_NOTNULL
    - VBO_SetState
    - http_PrintfHeader
    - AZ
    - assert
    - http_CopyHome
    - HSH_Ref
    - http_FilterReq
    - RFC2616_Strong_LM
    - HTTP_GetHdrPack
    - ObjGetLen
    - HTTP_Clone
    - HTTP_Setup
    - ObjCheckFlag
    linkageType: ''
    returnType: void
    signature: void vbf_stp_mkbereq(struct worker *wrk, struct busyobj *bo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:313,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:314,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:316,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:319,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:324,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:327,1
    - Dst: VSL_ChgId
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:343,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:343,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:344,1
    - Dst: http_VSL_log
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (bo->fetch_objcore->boc->state <= BOS_REQ_DONE)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->director_state == DIR_S_NULL)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 348
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 348
    functionName: vbf_stp_retry
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSLb_ts_busyobj
    - VSL_ChgId
    - assert
    - W_TIM_real
    - http_VSL_log
    - VXID_Get
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vbf_stp_retry(struct worker *wrk, struct busyobj *bo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:358,1
    - Dst: ObjCheckFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:359,1
    - Dst: RFC2616_Weaken_Etag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:366,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:368,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:369,1
    - Dst: HTTP_Merge
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: vbf_304_logic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - HTTP_Merge
    - http_Unset
    - AZ
    - RFC2616_Weaken_Etag
    - ObjCheckFlag
    linkageType: ''
    returnType: void
    signature: void vbf_304_logic(struct busyobj *bo)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:386,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:387,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:389,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:395,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:396,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:399,1
    - Dst: STV_next
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:400,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:403,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:405,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:405,1
    - Dst: http_method_among
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:408,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:410,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:412,1
    - Dst: VCL_backend_fetch_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:415,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:421,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:424,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:426,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:428,1
    - Dst: VFP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:430,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:438,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:438,1
    - Dst: VDI_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:439,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:441,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:443,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:444,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:447,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:453,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:454,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:455,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:459,1
    - Dst: http_TimeHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:471,1
    - Dst: http_CollectHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:479,1
    - Dst: http_CollectHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:480,1
    - Dst: RFC2616_Ttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:483,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:489,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:490,1
    - Dst: http_IsStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:492,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:494,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:497,1
    - Dst: VCL_backend_refresh_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:501,1
    - Dst: vbf_304_logic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:504,1
    - Dst: http_SetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:507,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:508,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:509,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:510,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:513,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:516,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:519,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:522,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:525,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:528,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:530,1
    - Dst: HTTP_Decode
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:533,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:533,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:536,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:547,1
    - Dst: http_GetHdrField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:552,1
    - Dst: VCL_backend_response_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:555,1
    - Dst: http_GetHdrField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:558,1
    - Dst: VRG_CheckBo
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:561,1
    - Dst: VDI_Finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:563,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:576,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:588,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:593,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:595,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:599,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:599,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:600,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:602,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:616,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 155
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (oc->boc->state <= BOS_REQ_DONE)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->director_state == DIR_S_NULL)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: "(wrk->vpi->handling == VCL_RET_FETCH ||\n\t    wrk->vpi->handling
        == VCL_RET_ERROR)"
      pos:
        line_end: 421
        line_start: 420
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oc->boc->state <= BOS_REQ_DONE)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->director_state == DIR_S_NULL)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (wrk->vpi->handling == VCL_RET_DELIVER)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->director_state == DIR_S_NULL)
      pos:
        line_end: 594
        line_start: 594
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 619
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 619
    functionName: vbf_stp_startfetch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - http_CollectHdr
    - http_GetHdr
    - HTTP_Decode
    - VFP_Setup
    - VCL_backend_refresh_method
    - HTTP_GetHdrPack
    - STV_next
    - ObjGetAttr
    - HTTP_Setup
    - VSLb
    - VDI_Finish
    - http_Unset
    - vbf_cleanup
    - WRONG
    - http_IsStatus
    - http_GetHdrField
    - http_ForceHeader
    - http_method_among
    - VRG_CheckBo
    - CHECK_OBJ_NOTNULL
    - VBO_SetState
    - VCL_backend_fetch_method
    - http_PrintfHeader
    - http_TimeHeader
    - AZ
    - assert
    - W_TIM_real
    - VDI_GetHdr
    - vbf_304_logic
    - http_SetStatus
    - VSLb_ts_busyobj
    - RFC2616_Ttl
    - VCL_backend_response_method
    - VXID
    linkageType: ''
    returnType: void
    signature: void vbf_stp_startfetch(struct worker *wrk, struct busyobj *bo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:634,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:636,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:638,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:640,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:653,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:654,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:659,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:661,1
    - Dst: VFP_GetStorage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:662,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:667,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:668,1
    - Dst: VFP_Extend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:670,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:679,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:681,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:683,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (l >= 0)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oc->boc->state < BOS_STREAM)
      pos:
        line_end: 682
        line_start: 682
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 693
      start: 625
    functionDepth: 9
    functionLinenumber: 625
    functionLinenumberEnd: 693
    functionName: vbf_stp_fetchbody
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VFP_Extend
    - vbf_cleanup
    - AZ
    - assert
    - VFP_Suck
    - VFP_GetStorage
    - VFP_Error
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vbf_stp_fetchbody(struct worker *wrk, struct busyobj *bo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:701,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:702,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:704,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:706,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:709,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:710,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:716,1
    - Dst: VBF_Get_Filter_List
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:721,1
    - Dst: VCL_StackVFP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:725,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:727,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:732,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:736,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:737,1
    - Dst: VFP_Open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:739,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:740,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:742,1
    - Dst: vbf_beresp2obj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:746,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:748,1
    - Dst: http_IsStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:758,1
    - Dst: RFC2616_Strong_LM
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:759,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:760,1
    - Dst: ObjSetFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:761,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:763,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:765,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:768,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:770,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:775,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:778,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (wrk->vpi->handling == VCL_RET_DELIVER)
      pos:
        line_end: 705
        line_start: 705
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oc->boc->refcount >= 1)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oc->boc->state == BOS_REQ_DONE)
      pos:
        line_end: 764
        line_start: 764
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->htc->body_status != BS_ERROR)
      pos:
        line_end: 774
        line_start: 774
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 780
      start: 696
    functionDepth: 10
    functionLinenumber: 696
    functionLinenumberEnd: 780
    functionName: vbf_stp_fetch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - VCL_Bo2Ctx
    - http_GetHdr
    - RFC2616_Strong_LM
    - VCL_StackVFP
    - VSLb
    - AN
    - VBF_Get_Filter_List
    - http_Unset
    - vbf_cleanup
    - VFP_Open
    - http_IsStatus
    - VFP_Error
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VBO_SetState
    - AZ
    - assert
    - ObjSetFlag
    - vbf_beresp2obj
    linkageType: ''
    returnType: void
    signature: void vbf_stp_fetch(struct worker *wrk, struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: OBJ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_FLAG(U, l, v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:788,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:789,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:791,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:793,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:797,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:799,1
    - Dst: ObjSetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:799,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:802,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:804,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:806,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:807,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:807,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:809,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:810,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:810,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:811,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:811,1
    - Dst: HSH_Replace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (oc->boc->state == BOS_STREAM)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oc->boc->state == BOS_REQ_DONE)
      pos:
        line_end: 803
        line_start: 803
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 815
      start: 783
    functionDepth: 4
    functionLinenumber: 783
    functionLinenumberEnd: 815
    functionName: vbf_stp_fetchend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - ObjGetXID
    - CHECK_OBJ_NOTNULL
    - VBO_SetState
    - VSLb_ts_busyobj
    - vbf_cleanup
    - VSL
    - AZ
    - assert
    - W_TIM_real
    - ObjSetU64
    - HSH_Replace
    - VXID
    linkageType: ''
    returnType: void
    signature: void vbf_stp_fetchend(struct worker *wrk, struct busyobj *bo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:838,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:839,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:846,1
    - Dst: VFP_GetStorage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:848,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:856,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:857,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:859,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:860,1
    - Dst: VFP_Extend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:861,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:869,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - priv
    - flush
    - ptr
    - len
    argTypes:
    - void*
    - unsigned
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 9
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: vbf_objiterate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - vmin
    - AN
    - CHECK_OBJ_NOTNULL
    - memcpy
    - VFP_Extend
    - CAST_OBJ_NOTNULL
    - AZ
    - VFP_GetStorage
    linkageType: ''
    returnType: void
    signature: void vbf_objiterate(void *priv, unsigned flush, const void *ptr, ssize_t
      len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:881,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:882,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:884,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:886,1
    - Dst: HSH_RefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:888,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:889,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:899,1
    - Dst: ObjWaitState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:902,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:903,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:906,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:907,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:911,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:913,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:914,1
    - Dst: vbf_beresp2obj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:919,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:920,1
    - Dst: ObjHasAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:925,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:926,1
    - Dst: ObjCopyAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:926,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:928,1
    - Dst: ObjCopyAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:928,1
    - Dst: ObjSetFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:930,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:931,1
    - Dst: ObjCopyAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:931,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:934,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:936,1
    - Dst: ObjGetLen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:938,1
    - Dst: ObjIterate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:939,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:940,1
    - Dst: vbf_cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:943,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (stale_state == BOS_FAILED)
      pos:
        line_end: 905
        line_start: 905
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 948
      start: 874
    functionDepth: 9
    functionLinenumber: 874
    functionLinenumberEnd: 948
    functionName: vbf_stp_condfetch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - ObjCopyAttr
    - HSH_RefBoc
    - ObjIterate
    - VSLb
    - AN
    - vbf_cleanup
    - VFP_Error
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VBO_SetState
    - ObjWaitState
    - AZ
    - assert
    - ObjHasAttr
    - CHECK_OBJ_ORNULL
    - HSH_DerefBoc
    - ObjSetFlag
    - vbf_beresp2obj
    - ObjGetLen
    linkageType: ''
    returnType: void
    signature: void vbf_stp_condfetch(struct worker *wrk, struct busyobj *bo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:974,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:975,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:977,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:978,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:979,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:980,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:985,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:986,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:990,1
    - Dst: ObjFreeObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:992,1
    - Dst: STV_next
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:996,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1000,1
    - Dst: http_PutResponse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1002,1
    - Dst: http_PutResponse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1005,1
    - Dst: http_TimeHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1008,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1009,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1017,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1018,1
    - Dst: VCL_backend_error_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1020,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1022,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1022,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1025,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1030,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1033,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1037,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1039,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1040,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1041,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1042,1
    - Dst: vbf_beresp2obj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1044,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1045,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1051,1
    - Dst: VFP_GetStorage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1055,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1056,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1059,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1060,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1060,1
    - Dst: VFP_Extend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1061,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1065,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1065,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1066,1
    - Dst: ObjSetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1066,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1067,1
    - Dst: HSH_Kill
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1069,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1070,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 76
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (oc->boc->state < BOS_STREAM)
      pos:
        line_end: 978
        line_start: 978
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->director_state == DIR_S_NULL)
      pos:
        line_end: 979
        line_start: 979
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (wrk->vpi->handling == VCL_RET_DELIVER)
      pos:
        line_end: 1036
        line_start: 1036
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->vfc->wrk == bo->wrk)
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (o == VSB_len(synth_body))
      pos:
        line_end: 1064
        line_start: 1064
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oc->boc->state < BOS_STREAM)
      pos:
        line_end: 989
        line_start: 989
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->vfc->oc == oc)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->vfc->resp == bo->beresp)
      pos:
        line_end: 1040
        line_start: 1040
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->vfc->req == bo->bereq)
      pos:
        line_end: 1041
        line_start: 1041
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 1072
      start: 966
    functionDepth: 9
    functionLinenumber: 966
    functionLinenumberEnd: 1072
    functionName: vbf_stp_error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - ObjSetU64
    - STV_next
    - VCL_backend_error_method
    - HTTP_Setup
    - VSLb
    - AN
    - memcpy
    - VFP_Extend
    - http_PutResponse
    - VFP_GetStorage
    - VSB_data
    - CHECK_OBJ_NOTNULL
    - VBO_SetState
    - http_TimeHeader
    - AZ
    - assert
    - W_TIM_real
    - VSB_len
    - HSH_Kill
    - VSB_new_auto
    - vmin
    - VSLb_ts_busyobj
    - vbf_beresp2obj
    - http_SetHeader
    - ObjFreeObj
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vbf_stp_error(struct worker *wrk, struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1082,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1083,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1085,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1087,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1088,1
    - Dst: HSH_Kill
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts:
    - condition: (oc->boc->state < BOS_FINISHED)
      pos:
        line_end: 1086
        line_start: 1086
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 1091
      start: 1078
    functionDepth: 4
    functionLinenumber: 1078
    functionLinenumberEnd: 1091
    functionName: vbf_stp_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - assert
    - VBO_SetState
    - HSH_Kill
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbf_stp_fail(struct worker *wrk, struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1100,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1101,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1102,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1103,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wrk
    - bo
    argTypes:
    - struct worker*
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1104
    functionName: vbf_stp_done
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - return
    - NEEDLESS
    - WRONG
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbf_stp_done(struct worker *wrk, struct busyobj *bo)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1114,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1115,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1116,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1118,1
    - Dst: THR_SetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1120,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1122,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1122,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1123,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1123,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1124,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1124,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1131,1
    - Dst: ObjCheckFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1133,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1134,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1138,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1140,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1141,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1143,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1145,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1146,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1147,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1148,1
    - Dst: struct fetch_step*::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1149,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1152,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1154,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1155,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1156,1
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1157,1
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1158,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1161,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1164,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1165,1
    - Dst: ObjGetLen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1166,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1171,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1174,1
    - Dst: SES_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1175,1
    - Dst: VBO_ReleaseBusyObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1176,1
    - Dst: THR_SetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (isnan(bo->t_prev))
      pos:
        line_end: 1122
        line_start: 1122
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oc->boc->refcount >= 1)
      pos:
        line_end: 1140
        line_start: 1140
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (isnan(bo->t_first))
      pos:
        line_end: 1121
        line_start: 1121
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (bo->director_state == DIR_S_NULL)
      pos:
        line_end: 1151
        line_start: 1151
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 1178
      start: 1107
    functionDepth: 9
    functionLinenumber: 1107
    functionLinenumberEnd: 1178
    functionName: vbf_fetch_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - VCL_Bo2Ctx
    - SES_Rel
    - VBO_ReleaseBusyObj
    - VSLb
    - VCL_TaskEnter
    - http_Teardown
    - AN
    - CAST_OBJ_NOTNULL
    - isnan
    - VCL_TaskLeave
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - W_TIM_real
    - struct fetch_step*::func
    - ObjCheckFlag
    - HSH_DerefObjCore
    - HSH_DerefBoc
    - VSLb_ts_busyobj
    - ObjGetLen
    - THR_SetBusyobj
    linkageType: ''
    returnType: void
    signature: void vbf_fetch_thread(struct worker *wrk, void *priv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1193,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1194,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1195,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1196,1
    - Dst: VBO_GetBusyObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1198,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1199,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1200,1
    - Dst: HSH_RefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1202,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1203,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1204,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1223,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1229,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1229,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1230,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1230,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1230,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1231,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1231,1
    - Dst: THR_SetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1233,1
    - Dst: SES_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1236,1
    - Dst: HSH_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1241,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1242,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1245,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1247,1
    - Dst: HSH_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1248,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1252,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1258,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1260,1
    - Dst: vbf_stp_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1262,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1264,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1265,1
    - Dst: SES_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1266,1
    - Dst: THR_SetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1267,1
    - Dst: VBO_ReleaseBusyObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1268,1
    - Dst: THR_SetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1270,1
    - Dst: ObjWaitState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1273,1
    - Dst: VRB_Ignore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1274,1
    - Dst: ObjWaitState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1276,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1277,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1279,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1282,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1283,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1283,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1284,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1285,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c:1287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 80
    argCount: 5
    argNames:
    - wrk
    - req
    - oc
    - oldoc
    - mode
    argTypes:
    - struct worker*
    - struct req*
    - struct objcore*
    - struct objcore*
    - enum vbf_fetch_mode_e
    assertStmts:
    - condition: (oc->boc == boc)
      pos:
        line_end: 1283
        line_start: 1283
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (oldoc->refcnt > 0)
      pos:
        line_end: 1246
        line_start: 1246
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - condition: (boc->state < BOS_STREAM)
      pos:
        line_end: 1203
        line_start: 1203
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    constantsTouched: []
    func_position:
      end: 1288
      start: 1183
    functionDepth: 12
    functionLinenumber: 1183
    functionLinenumberEnd: 1288
    functionName: VBF_Fetch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached:
    - HSH_RefBoc
    - SES_Rel
    - VBO_ReleaseBusyObj
    - VCL_Name
    - VSLb
    - VBO_GetBusyObj
    - AN
    - vbf_stp_fail
    - WRONG
    - VSLb_ts_req
    - CHECK_OBJ_NOTNULL
    - ObjWaitState
    - AZ
    - assert
    - W_TIM_real
    - VRB_Ignore
    - HSH_Ref
    - CHECK_OBJ_ORNULL
    - TOSTRAND
    - HSH_DerefObjCore
    - HSH_DerefBoc
    - Pool_Task
    - VSLbs
    - SES_Ref
    - VXID
    - THR_SetBusyobj
    linkageType: ''
    returnType: void
    signature: "void VBF_Fetch(struct worker *wrk, struct req *req, struct objcore
      *oc,\n    struct objcore *oldoc, enum vbf_fetch_mode_e mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1227
    functionName: REQ_BEREQ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_BEREQ_FLAG(l, r, w, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: VAI_ASSERT_LEASE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VAI_ASSERT_LEASE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: INIT_VAI_HDL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_VAI_HDL(to, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: CHECK_VAI_HDL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_VAI_HDL(obj, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - ptr
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: CAST_VAI_HDL_NOTNULL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_VAI_HDL_NOTNULL(obj, ptr, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: VFP_DEBUG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFP_DEBUG(ctx, fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:223,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:229,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:231,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:232,1
    - Dst: struct vdp_entry*::vdp::io_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:236,1
    - Dst: ObjVAIlease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - vdc
    - vdpe
    - scarab
    argTypes:
    - struct vdp_ctx*
    - struct vdp_entry*
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: vdpio_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 3
    functionsReached:
    - ObjVAIlease
    - CHECK_OBJ_NOTNULL
    - struct vdp_entry*::vdp::io_lease
    - VTAILQ_LAST
    - VTAILQ_PREV
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: int vdpio_pull(struct vdp_ctx *vdc, struct vdp_entry *vdpe, struct
      vscarab *scarab)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:259,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - out
    - l
    argTypes:
    - struct iovec*
    - struct iovec*
    - size_t
    assertStmts:
    - condition: ((char *)out->iov_base + out->iov_len == buf->iov_base)
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - condition: (buf->iov_len >= l)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    constantsTouched: []
    func_position:
      end: 266
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 266
    functionName: iovec_collect
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void iovec_collect(struct iovec *buf, struct iovec *out, size_t l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iovec_collect
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - in
    - out
    - bytes
    argTypes:
    - struct viov*
    - struct viov*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: viov_take
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 0
    functionsReached:
    - iovec_collect
    linkageType: ''
    returnType: size_t
    signature: size_t viov_take(struct viov *in, struct viov *out, size_t bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:298,1
    - Dst: VSCARET_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:300,1
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:303,1
    - Dst: VSCARET_ADD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vdc
    - lease
    argTypes:
    - struct vdp_ctx*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: vdpio_return_lease
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 3
    functionsReached:
    - VSCARET_ADD
    - ObjVAIreturn
    - VSCARET_CHECK_NOTNULL
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdpio_return_lease(const struct vdp_ctx *vdc, uint64_t lease)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:315,1
    - Dst: VSCARAB_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:316,1
    - Dst: vdpio_return_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:317,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:318,1
    - Dst: VSCARAB_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vdc
    - scarab
    argTypes:
    - struct vdp_ctx*
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: vdpio_return_vscarab
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 0
    functionsReached:
    - VSCARAB_INIT
    - VSCARAB_FOREACH
    - AZ
    - vdpio_return_lease
    - VSCARAB_CHECK_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdpio_return_vscarab(const struct vdp_ctx *vdc, struct vscarab
      *scarab)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:338,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:346,1
    - Dst: vdpio_return_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:347,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:353,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:356,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:358,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:361,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - vdc
    - scarab
    argTypes:
    - struct vdp_ctx*
    - struct vscarab*
    assertStmts:
    - condition: (scarab->s < v)
      pos:
        line_end: 355
        line_start: 355
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - condition: (removed < scarab->used)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    constantsTouched: []
    func_position:
      end: 363
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 363
    functionName: vdpio_consolidate_vscarab
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 2
    functionsReached:
    - AN
    - memset
    - assert
    - vdpio_return_lease
    - memmove
    - VSCARAB_CHECK_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdpio_consolidate_vscarab(const struct vdp_ctx *vdc, struct vscarab
      *scarab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:346,1
    - Dst: vdpio_return_lease
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    functionUses: 5
    functionsReached:
    - vdpio_return_lease
    - AN
    linkageType: ''
    returnType: void
    signature: void VSCARAB_FOREACH(v, scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:57,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:58,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:59,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - wrk
    - p
    - spc
    argTypes:
    - struct worker*
    - void*
    - size_t
    assertStmts:
    - condition: (spc >= sizeof *vpi)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: VPI_wrk_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 1
    functionsReached:
    - assert
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VPI_wrk_init(struct worker *wrk, void *p, size_t spc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:68,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:69,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:70,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:71,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:73,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - u
    argTypes:
    - unsigned
    assertStmts:
    - condition: (u < ctx->vcl->conf->nref)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: VPI_trace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - assert
    - VSL
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: void
    signature: void VPI_trace(VRT_CTX, unsigned u)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:90,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:98,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:102,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:107,1
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:110,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:114,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:118,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:122,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:123,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:131,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:132,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:133,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:135,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:136,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:137,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:139,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:141,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:142,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - vsb
    - n
    - vcl
    argTypes:
    - struct vsb*
    - unsigned
    - struct vcl*
    assertStmts:
    - condition: (w > 0)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    constantsTouched: []
    func_position:
      end: 144
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 144
    functionName: vpi_ref_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - AN
    - PAN_dump_struct
    - VSB_putc
    - VSB_printf
    - assert
    - VSB_cat
    - VSB_quote
    - strlen
    linkageType: ''
    returnType: void
    signature: void vpi_ref_panic(struct vsb *vsb, unsigned n, const struct vcl *vcl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:150,1
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:151,1
    - Dst: VCL_Return_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:154,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:160,1
    - Dst: vpi_ref_panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:163,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:165,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - vsb
    - vpi
    - vcl
    argTypes:
    - struct vsb*
    - struct wrk_vpi*
    - struct vcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: VPI_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 2
    functionsReached:
    - VSB_indent
    - AN
    - PAN_dump_struct
    - VSB_printf
    - vpi_ref_panic
    - VCL_Return_Name
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void VPI_Panic(struct vsb *vsb, const struct wrk_vpi *vpi, const struct
      vcl *vcl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:180,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:181,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ctx->vpi->handling == VCL_RET_OK)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: VPI_vcl_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VPI_vcl_fini(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:194,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:195,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:196,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:197,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: VPI_vcl_get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - vcl_find
    - Lck_Lock
    linkageType: ''
    returnType: VCL_VCL
    signature: VCL_VCL VPI_vcl_get(VRT_CTX, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:206,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:207,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:208,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - VCL_VCL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: VPI_vcl_rel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VPI_vcl_rel(VRT_CTX, VCL_VCL vcl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:218,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:219,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:220,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:222,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:225,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:226,1
    - Dst: Req_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:228,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:230,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:231,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:232,1
    - Dst: VCL_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:236,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - VCL_VCL
    assertStmts:
    - condition: (req->vcl == req->top->vcl0)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: VPI_vcl_select
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - IS_TOPREQ
    - AZ
    - assert
    - VCL_Update
    - Req_Rollback
    - VSLb
    linkageType: ''
    returnType: void
    signature: void VPI_vcl_select(VRT_CTX, VCL_VCL vcl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: v_noreturn_::VAS_Fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - func
    - file
    - line
    - cond
    argTypes:
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: v_noreturn_::VPI_Fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - v_noreturn_::VAS_Fail
    linkageType: ''
    returnType: void
    signature: "void v_noreturn_\nVPI_Fail(const char *func, const char *file, int
      line,\n    const char *cond)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:254,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:255,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:257,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:260,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - conf
    - methods
    - n
    argTypes:
    - struct VCL_conf*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (conf == ctx->vcl->conf)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    constantsTouched: []
    func_position:
      end: 269
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 269
    functionName: VPI_Call_Check
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - assert
    - vbit_test
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: enum vcl_func_fail_e
    signature: "enum vcl_func_fail_e VPI_Call_Check(VRT_CTX, const struct VCL_conf
      *conf,\n    unsigned methods, unsigned n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:276,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:278,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: VPI_Call_Begin
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vbit_set
    linkageType: ''
    returnType: void
    signature: void VPI_Call_Begin(VRT_CTX, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:287,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:289,1
    - Dst: vbit_clr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 291
    functionName: VPI_Call_End
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached:
    - vbit_clr
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VPI_Call_End(VRT_CTX, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: VPI_PtrCmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VPI_PtrCmp(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:84,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:85,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - bo
    argTypes:
    - struct vrt_ctx*
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 99
    functionName: VCL_Bo2Ctx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 8
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCL_Bo2Ctx(struct vrt_ctx *ctx, struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:105,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:106,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:107,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - req
    argTypes:
    - struct vrt_ctx*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: VCL_Req2Ctx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 5
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCL_Req2Ctx(struct vrt_ctx *ctx, struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:131,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:132,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:133,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:135,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:136,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:138,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:139,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - msg
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 146
    functionName: VCL_Get_CliCtx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 2
    functionsReached:
    - WS_Assert
    - AN
    - INIT_OBJ
    - VTIM_real
    - ASSERT_CLI
    - FEATURE
    - VSB_new_auto
    linkageType: ''
    returnType: struct vrt_ctx
    signature: 'struct vrt_ctx *

      VCL_Get_CliCtx(int msg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:161,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:162,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:163,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:165,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:166,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:166,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:169,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:170,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:171,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct vrt_ctx**
    assertStmts:
    - condition: (*ctx == &ctx_cli)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: VCL_Rel_CliCtx
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 2
    functionsReached:
    - WS_Rollback
    - WS_Assert
    - AN
    - TAKE_OBJ_NOTNULL
    - INIT_OBJ
    - VSB_finish
    - VSL_Flush
    - ASSERT_CLI
    - AZ
    - assert
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VCL_Rel_CliCtx(struct vrt_ctx **ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:192,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:206,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ctx->vpi->handling == VCL_RET_FAIL)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    - condition: (ctx->method == VCL_MET_FINI)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 211
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 211
    functionName: vcl_event_handling
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: int
    signature: int vcl_event_handling(VRT_CTX)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:222,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:223,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:225,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:226,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:227,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:228,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:244,1
    - Dst: VCL_Get_CliCtx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:249,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:250,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:251,1
    - Dst: VBITMAP_SZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:258,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:259,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:260,1
    - Dst: vbit_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:261,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:264,1
    - Dst: struct vrt_ctx*::vcl::conf::event_vcl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:265,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:266,1
    - Dst: vcl_event_handling
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:267,1
    - Dst: VCL_Rel_CliCtx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:269,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:272,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 3
    argNames:
    - vcl
    - ev
    - msg
    argTypes:
    - struct vcl*
    - enum vcl_event_e
    - struct vsb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 277
    functionName: vcl_send_event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - vbit_init
    - AN
    - vcl_event_handling
    - CHECK_OBJ_NOTNULL
    - malloc
    - VCL_Rel_CliCtx
    - ASSERT_CLI
    - struct vrt_ctx*::vcl::conf::event_vcl
    - AZ
    - WRONG
    - VCL_Get_CliCtx
    - ASSERT_VCL_ACTIVE
    - VBITMAP_SZ
    - VCL_TaskLeave
    - free
    - VCL_TaskEnter
    linkageType: ''
    returnType: int
    signature: int vcl_send_event(struct vcl *vcl, enum vcl_event_e ev, struct vsb
      **msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:286,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:287,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: vcl_find
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FOREACH
    - ASSERT_CLI
    - strcmp
    linkageType: ''
    returnType: struct vcl
    signature: 'struct vcl *

      vcl_find(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:304,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:306,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:307,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:308,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:310,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:311,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:312,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:313,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:314,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:317,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:321,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:322,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:323,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - vsb
    - conf
    argTypes:
    - struct vsb*
    - struct VCL_conf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 325
    functionName: vcl_panic_conf
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VSB_printf
    - VSB_cat
    - PAN_dump_struct
    linkageType: ''
    returnType: void
    signature: void vcl_panic_conf(struct vsb *vsb, const struct VCL_conf *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:331,1
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:332,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:334,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:335,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:336,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:337,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:338,1
    - Dst: vcl_panic_conf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:339,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:340,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - vsb
    - nm
    - vcl
    argTypes:
    - struct vsb*
    - char*
    - struct vcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: VCL_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 3
    functionsReached:
    - VSB_indent
    - AN
    - PAN_dump_struct
    - VSB_printf
    - vcl_panic_conf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void VCL_Panic(struct vsb *vsb, const char *nm, const struct vcl *vcl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:351,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:356,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:357,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:359,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:361,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:368,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:370,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:370,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:373,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:373,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:376,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:377,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:379,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - vcc
    - vcl
    argTypes:
    - struct vcl**
    - struct vcl*
    assertStmts:
    - condition: (old->busy > 0)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    - condition: ((*vcc)->temp->is_warm)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 381
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 381
    functionName: VCL_Update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - strcmp
    - assert
    - AZ
    - Lck_Lock
    - ASSERT_VCL_ACTIVE
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void VCL_Update(struct vcl **vcc, struct vcl *vcl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:396,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:397,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:398,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:399,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:400,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:402,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - mtx
    - tempp
    argTypes:
    - struct lock*
    - struct vcltemp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: vdire_new
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - PTOK
    - pthread_cond_init
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vdire
    signature: 'struct vdire *

      vdire_new(struct lock *mtx, const struct vcltemp **tempp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:412,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:415,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:417,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:418,1
    - Dst: Lck_CondWait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:419,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - vdire
    argTypes:
    - struct vdire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 422
    functionName: vdire_start_iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - ASSERT_CLI
    - Lck_Lock
    - Lck_CondWait
    linkageType: ''
    returnType: void
    signature: void vdire_start_iter(struct vdire *vdire)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_HEAD_INITIALIZER
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:427,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:432,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:434,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:435,1
    - Dst: VTAILQ_SWAP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:439,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:440,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:441,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:443,1
    - Dst: pthread_cond_broadcast
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:443,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:445,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:447,1
    - Dst: vcldir_retire
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - vdire
    argTypes:
    - struct vdire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 449
    functionName: vdire_end_iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_HEAD_INITIALIZER
    - Lck_Unlock
    - AN
    - VTAILQ_SWAP
    - CHECK_OBJ_NOTNULL
    - pthread_cond_broadcast
    - vcldir_retire
    - PTOK
    - Lck_Lock
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vdire_end_iter(struct vdire *vdire)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:459,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:460,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:462,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:465,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:467,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:468,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - vdire
    - temp
    argTypes:
    - struct vdire*
    - struct vcltemp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 472
    functionName: vdire_start_event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - ASSERT_CLI
    - VTAILQ_LAST
    - AZ
    - Lck_AssertHeld
    linkageType: ''
    returnType: void
    signature: void vdire_start_event(struct vdire *vdire, const struct vcltemp *temp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vdire_end_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vdire
    argTypes:
    - struct vdire*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: vdire_end_event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - vdire_end_iter
    linkageType: ''
    returnType: void
    signature: void vdire_end_event(struct vdire *vdire)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:488,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:489,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:491,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:493,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:496,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:499,1
    - Dst: vcldir_retire
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - vdire
    - vdir
    argTypes:
    - struct vdire*
    - struct vcldir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 503
    functionName: vdire_resign
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_REMOVE
    - vcldir_retire
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void vdire_resign(struct vdire *vdire, struct vcldir *vdir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vdire_start_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:515,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:516,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:517,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:520,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:523,1
    - Dst: vdire_end_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - cli
    - pat
    - vcl
    - func
    - priv
    argTypes:
    - struct cli*
    - char*
    - struct vcl*
    - vcl_be_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 532
    functionName: vdire_iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - vdire_start_iter
    - vdire_end_iter
    - func
    - fnmatch
    - VTAILQ_FOREACH
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: "int vdire_iter(struct cli *cli, const char *pat, const struct vcl
      *vcl,\n    vcl_be_func *func, void *priv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:545,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:547,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:548,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:549,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:550,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - cli
    - pat
    - vcl
    - func
    - priv
    argTypes:
    - struct cli*
    - char*
    - struct vcl*
    - vcl_be_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 559
    functionName: vcl_iterdir
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - func
    - Lck_AssertHeld
    - fnmatch
    - VTAILQ_FOREACH
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: "int vcl_iterdir(struct cli *cli, const char *pat, const struct vcl
      *vcl,\n    vcl_be_func *func, void *priv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:569,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:570,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:571,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:572,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:573,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:575,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:575,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:577,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:579,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:579,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:583,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:586,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:586,1
    - Dst: vdire_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:588,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:588,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:590,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:591,1
    - Dst: vcl_iterdir
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:595,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:595,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:603,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - cli
    - pat
    - func
    - priv
    argTypes:
    - struct cli*
    - char*
    - vcl_be_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 607
    functionName: VCL_IterDirector
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - AN
    - vdire_iter
    - VSB_data
    - VSB_finish
    - vcl_iterdir
    - VSB_printf
    - ASSERT_CLI
    - strcmp
    - AZ
    - VSB_cat
    - Lck_Lock
    - strchr
    - ASSERT_VCL_ACTIVE
    - VCL_Name
    - VTAILQ_FOREACH
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: "int VCL_IterDirector(struct cli *cli, const char *pat,\n    vcl_be_func
      *func, void *priv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:620,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:621,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:622,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:624,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:630,1
    - Dst: VTAILQ_FOREACH_REVERSE_FROM
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:631,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:633,1
    - Dst: VDI_Event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - vcl
    - e
    argTypes:
    - struct vcl*
    - enum vcl_event_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 636
    functionName: backend_event_base
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VDI_Event
    - ASSERT_CLI
    - AZ
    - VTAILQ_FOREACH_REVERSE_FROM
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void backend_event_base(const struct vcl *vcl, enum vcl_event_e e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:651,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:652,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:653,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:655,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:656,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:658,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:660,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:662,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:663,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:665,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:666,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:669,1
    - Dst: VDI_Event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:670,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - vcl
    - e
    - temp
    argTypes:
    - struct vcl*
    - enum vcl_event_e
    - struct vcltemp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 675
    functionName: backend_event_delta
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - VDI_Event
    - ASSERT_CLI
    - VTAILQ_LAST
    - AZ
    - Lck_Lock
    - VTAILQ_NEXT
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void backend_event_delta(const struct vcl *vcl, enum vcl_event_e e,
      const struct vcltemp *temp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:683,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:684,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:686,1
    - Dst: vdire_start_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:691,1
    - Dst: vdire_end_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:692,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:693,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:694,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:694,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:700,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:701,1
    - Dst: VDI_Event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:702,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:704,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - struct vcl*
    assertStmts:
    - condition: (vcl->temp == VCL_TEMP_COLD || vcl->temp == VCL_TEMP_INIT)
      pos:
        line_end: 683
        line_start: 683
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    - condition: (VTAILQ_EMPTY(&vdire->resigning))
      pos:
        line_end: 693
        line_start: 693
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    - condition: (VTAILQ_EMPTY(&vdire->directors))
      pos:
        line_end: 703
        line_start: 703
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 705
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 705
    functionName: vcl_KillBackends
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - vdire_start_iter
    - CHECK_OBJ_NOTNULL
    - VDI_Event
    - VTAILQ_EMPTY
    - vdire_end_iter
    - AZ
    - assert
    - VTAILQ_FOREACH_SAFE
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vcl_KillBackends(const struct vcl *vcl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:718,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:719,1
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:723,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:724,1
    - Dst: dlopen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:726,1
    - Dst: dlerror
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:729,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:730,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:732,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:734,1
    - Dst: strerror
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:735,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:737,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:738,1
    - Dst: dlsym
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:741,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:743,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:744,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:748,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:749,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:754,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:756,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:759,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:760,1
    - Dst: vdire_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - fn
    - msg
    argTypes:
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 765
    functionName: VCL_Open
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - dlopen
    - VSB_printf
    - dlerror
    - AZ
    - strerror
    - vdire_new
    - VSB_cat
    - dlsym
    - dlclose
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vcl
    signature: 'struct vcl *

      VCL_Open(const char *fn, struct vsb *msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:772,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:773,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:773,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:774,1
    - Dst: dlclose
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:774,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:775,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:775,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:776,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vclp
    argTypes:
    - struct vcl**
    assertStmts:
    - condition: (VTAILQ_EMPTY(&vcl->filters))
      pos:
        line_end: 772
        line_start: 772
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 778
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 778
    functionName: VCL_Close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - TAKE_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - AZ
    - assert
    - PTOK
    - dlclose
    linkageType: ''
    returnType: void
    signature: void VCL_Close(struct vcl **vclp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:791,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:792,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:793,1
    - Dst: VCL_Open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:794,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:796,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:796,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:797,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:797,1
    - Dst: VCL_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:800,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - fn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 803
    functionName: VCL_TestLoad
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 1
    functionsReached:
    - fprintf
    - AN
    - VSB_finish
    - VCL_Close
    - AZ
    - VCL_Open
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int VCL_TestLoad(const char *fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:813,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:814,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:815,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:817,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:818,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:819,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:820,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:821,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:822,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - struct vcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 824
    functionName: vcl_print_refs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - VSB_printf
    - AZ
    - Lck_Lock
    - VTAILQ_FOREACH
    - VSB_new_auto
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      vcl_print_refs(const struct vcl *vcl)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:832,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:834,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:835,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:836,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:837,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:839,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:846,1
    - Dst: vdire_start_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:847,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:847,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:849,1
    - Dst: backend_event_base
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:850,1
    - Dst: vdire_end_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:851,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:853,1
    - Dst: vcl_send_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:853,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:854,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:858,1
    - Dst: vcl_print_refs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:871,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:875,1
    - Dst: vdire_start_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:876,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:877,1
    - Dst: vcl_send_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:878,1
    - Dst: backend_event_base
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:880,1
    - Dst: vdire_end_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:882,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:885,1
    - Dst: vcl_send_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:885,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:886,1
    - Dst: backend_event_delta
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:887,1
    - Dst: vdire_end_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:888,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:892,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:895,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - vcl
    - state
    - msg
    argTypes:
    - struct vcl*
    - char*
    - struct vsb**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 826
    functionDepth: 6
    functionLinenumber: 826
    functionLinenumberEnd: 898
    functionName: vcl_set_state
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - bprintf
    - ASSERT_CLI
    - vcl_send_event
    - AZ
    - Lck_Lock
    - WRONG
    - vdire_start_event
    - vcl_print_refs
    - backend_event_delta
    - backend_event_base
    - vdire_end_event
    linkageType: ''
    returnType: int
    signature: int vcl_set_state(struct vcl *vcl, const char *state, struct vsb **msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:905,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:906,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:908,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:909,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:910,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:911,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:911,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:912,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:914,1
    - Dst: vcl_send_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:914,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:915,1
    - Dst: vcl_KillBackends
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:917,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:918,1
    - Dst: VCL_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - vcl
    - cli
    - msg
    - name
    - step
    argTypes:
    - struct vcl*
    - struct cli*
    - struct vsb*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 900
    functionDepth: 6
    functionLinenumber: 900
    functionLinenumberEnd: 920
    functionName: vcl_cancel_load
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - vcl_KillBackends
    - CHECK_OBJ_NOTNULL
    - VCLI_SetResult
    - VCL_Close
    - VCLI_Out
    - vcl_send_event
    - AZ
    - VSB_len
    - VSB_data
    - free
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: "void vcl_cancel_load(struct vcl *vcl, struct cli *cli, struct vsb
      *msg,\n    const char *name, const char *step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:929,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:930,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:932,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:933,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:935,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:936,1
    - Dst: VCL_Open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:937,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:938,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:938,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:940,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:941,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:941,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:942,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:946,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:948,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:949,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:950,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:951,1
    - Dst: vcl_send_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:955,1
    - Dst: vcl_cancel_load
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:956,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:959,1
    - Dst: vcl_set_state
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:961,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:962,1
    - Dst: vcl_cancel_load
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:963,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:967,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:969,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 4
    argNames:
    - cli
    - name
    - fn
    - state
    argTypes:
    - struct cli*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (*state == '1')
      pos:
        line_end: 961
        line_start: 961
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 973
      start: 922
    functionDepth: 7
    functionLinenumber: 922
    functionLinenumberEnd: 973
    functionName: vcl_load
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - ASSERT_CLI
    - ASSERT_VCL_ACTIVE
    - VTAILQ_INSERT_TAIL
    - vcl_cancel_load
    - XXXAN
    - AN
    - VCLI_SetResult
    - strdup
    - vcl_set_state
    - VSB_data
    - VTAILQ_INIT
    - VCLI_Out
    - vcl_send_event
    - AZ
    - vcl_find
    - assert
    - VSB_new_auto
    - VCL_Open
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: "void vcl_load(struct cli *cli,\n    const char *name, const char *fn,
      const char *state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:983,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:984,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:985,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:988,1
    - Dst: vcl_set_state
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:988,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:989,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:991,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:992,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:993,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:993,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:994,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:995,1
    - Dst: vcl_send_event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:995,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:996,1
    - Dst: vcl_KillBackends
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:997,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:998,1
    - Dst: VCL_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (vcl != vcl_active)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    - condition: (VTAILQ_EMPTY(&vcl->ref_list))
      pos:
        line_end: 992
        line_start: 992
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 1004
      start: 977
    functionDepth: 7
    functionLinenumber: 977
    functionLinenumberEnd: 1004
    functionName: VCL_Poll
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - vcl_KillBackends
    - VTAILQ_EMPTY
    - VCL_Close
    - ASSERT_CLI
    - VTAILQ_REMOVE
    - AZ
    - vcl_set_state
    - assert
    - vcl_send_event
    - ASSERT_VCL_ACTIVE
    - VTAILQ_FOREACH_SAFE
    - free
    linkageType: ''
    returnType: void
    signature: void VCL_Poll(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1019,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1020,1
    - Dst: VTE_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1021,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1022,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1023,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1030,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1033,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1035,1
    - Dst: VTE_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1038,1
    - Dst: VTE_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1041,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1043,1
    - Dst: VTE_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1043,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1044,1
    - Dst: VTE_format
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1044,1
    - Dst: VTE_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1046
    functionName: vcl_cli_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VTE_new
    - AN
    - VTE_destroy
    - ASSERT_CLI
    - VTE_printf
    - VTE_cat
    - AZ
    - VTE_format
    - VTE_finish
    - ASSERT_VCL_ACTIVE
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vcl_cli_list(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1054,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1055,1
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1056,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1057,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1058,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1059,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1060,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1061,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1063,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1065,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1067,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1068,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1069,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1070,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1071,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1073,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1074,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1075,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1076,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1079,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1080,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1081,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1082,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1084,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1085,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1087,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1088,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1089,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1090,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1092,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1093
    functionName: vcl_cli_list_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - VTAILQ_NEXT
    - VCLI_Out
    - VCLI_JSON_end
    - ASSERT_CLI
    - VCLI_JSON_begin
    - ASSERT_VCL_ACTIVE
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vcl_cli_list_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1099,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1100,1
    - Dst: vcl_load
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1096
    functionDepth: 8
    functionLinenumber: 1096
    functionLinenumberEnd: 1103
    functionName: vcl_cli_load
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - vcl_load
    - ASSERT_CLI
    - AZ
    linkageType: ''
    returnType: void
    signature: void vcl_cli_load(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1111,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1112,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1113,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1114,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1115,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1117,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1118,1
    - Dst: vcl_set_state
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1120,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1121,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1123,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1124,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1126,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1127,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1127,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1106
    functionDepth: 7
    functionLinenumber: 1106
    functionLinenumberEnd: 1131
    functionName: vcl_cli_state
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VCLI_SetResult
    - VCLI_Out
    - ASSERT_CLI
    - AZ
    - vcl_find
    - vcl_set_state
    - VSB_len
    - ASSERT_VCL_ACTIVE
    - VSB_data
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcl_cli_state(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1138,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1139,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1141,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1142,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1143,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1144,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1145,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1146,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1151,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1151,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1155,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1157,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1158,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1159,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1160,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1161,1
    - Dst: VCL_Poll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts:
    - condition: (vcl != vcl_active)
      pos:
        line_end: 1144
        line_start: 1144
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 1165
      start: 1134
    functionDepth: 8
    functionLinenumber: 1134
    functionLinenumberEnd: 1165
    functionName: vcl_cli_discard
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - VCL_Poll
    - ASSERT_CLI
    - VTAILQ_REMOVE
    - AZ
    - vcl_find
    - assert
    - strcmp
    - Lck_Lock
    - ASSERT_VCL_ACTIVE
    - free
    linkageType: ''
    returnType: void
    signature: void vcl_cli_discard(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1173,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1174,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1177,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1178,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1179,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1181,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1182,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1183,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1185,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1192
    functionName: vcl_cli_label
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - bprintf
    - REPLACE
    - ASSERT_CLI
    - vcl_find
    - ASSERT_VCL_ACTIVE
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void vcl_cli_label(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1199,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1200,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1201,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1202,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1203,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1204,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1205,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1206,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts:
    - condition: (vcl->temp == VCL_TEMP_WARM)
      pos:
        line_end: 1204
        line_start: 1204
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 1209
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1209
    functionName: vcl_cli_use
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - ASSERT_CLI
    - AZ
    - vcl_find
    - assert
    - Lck_Lock
    - ASSERT_VCL_ACTIVE
    linkageType: ''
    returnType: void
    signature: void vcl_cli_use(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1219,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1220,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1221,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1223,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1230,1
    - Dst: vcl_find
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1232,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1237,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1238,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1243,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1244,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1247,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1250,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1251,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1253,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1256,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1257,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1263
    functionName: vcl_cli_show
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VCLI_SetResult
    - VCLI_Out
    - ASSERT_CLI
    - strcmp
    - AZ
    - vcl_find
    - ASSERT_VCL_ACTIVE
    - strlen
    linkageType: ''
    returnType: void
    signature: void vcl_cli_show(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1282,1
    - Dst: WS_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1283,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1283,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1285,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1286,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1287,1
    - Dst: VSL_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (cache_param->workspace_client > 0)
      pos:
        line_end: 1281
        line_start: 1281
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    constantsTouched: []
    func_position:
      end: 1289
      start: 1278
    functionDepth: 3
    functionLinenumber: 1278
    functionLinenumberEnd: 1289
    functionName: VCL_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VSL_Alloc
    - WS_Snapshot
    - malloc
    - assert
    - CLI_AddFuncs
    - WS_Init
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void VCL_Init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1298,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1299,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1302,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1306,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1310,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1312,1
    - Dst: VSL_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c:1312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1313
    functionName: VCL_Shutdown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
    functionUses: 0
    functionsReached:
    - VSL_Free
    - fprintf
    - Lck_Unlock
    - usleep
    - NEEDLESS
    - Lck_Lock
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void VCL_Shutdown(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - vsc
    - err
    argTypes:
    - struct VSC_vbe*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: VBE_Connect_Error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VBE_Connect_Error(struct VSC_vbe *vsc, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tmx
    - ','
    - dst
    - ','
    - bo
    - ','
    - be
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: FIND_TMO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_TMO(tmx, dst, bo, be)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tmx
    - ','
    - dst
    - ','
    - be
    - ','
    - def
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: FIND_BE_SPEC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_BE_SPEC(tmx, dst, be, def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tmx
    - ','
    - dst
    - ','
    - be
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: FIND_BE_PARAM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_BE_PARAM(tmx, dst, be)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tmx
    - ','
    - dst
    - ','
    - be
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: FIND_BE_TMO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_BE_TMO(tmx, dst, be)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - be
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: BE_BUSY
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BE_BUSY(be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:147,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:149,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:150,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:151,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:152,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:153,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:153,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - bp
    argTypes:
    - struct backend*
    assertStmts:
    - condition: (cw->cw_state == CW_QUEUED)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: vbe_connwait_broadcast
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - PTOK
    - pthread_cond_signal
    - Lck_Lock
    - VTAILQ_FOREACH
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vbe_connwait_broadcast(const struct backend *bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:163,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:166,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:168,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:169,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:170,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - bp
    argTypes:
    - struct backend*
    assertStmts:
    - condition: (cw->cw_state == CW_QUEUED)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: vbe_connwait_signal_locked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - assert
    - PTOK
    - pthread_cond_signal
    - Lck_AssertHeld
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vbe_connwait_signal_locked(const struct backend *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:178,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:179,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:180,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:180,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cw
    argTypes:
    - struct connwait*
    assertStmts:
    - condition: (cw->cw_state != CW_QUEUED)
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: vbe_connwait_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - FINI_OBJ
    - CHECK_OBJ_NOTNULL
    - assert
    - PTOK
    linkageType: ''
    returnType: void
    signature: void vbe_connwait_fini(struct connwait *cw)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:205,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:206,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:209,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:211,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:212,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:213,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:218,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:219,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:219,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:220,1
    - Dst: FIND_BE_PARAM
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:221,1
    - Dst: FIND_BE_TMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:222,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:224,1
    - Dst: BE_BUSY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:224,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:229,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:233,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:235,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:238,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:239,1
    - Dst: BE_BUSY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:242,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:242,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:250,1
    - Dst: BE_BUSY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:250,1
    - Dst: vbe_connwait_signal_locked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:252,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:255,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:258,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:259,1
    - Dst: vbe_connwait_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:262,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:266,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:267,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:270,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:272,1
    - Dst: vbe_connwait_signal_locked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:274,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:275,1
    - Dst: vbe_connwait_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:276,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:280,1
    - Dst: FIND_TMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:282,1
    - Dst: VCP_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:283,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:285,1
    - Dst: VBE_Connect_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:286,1
    - Dst: vbe_connwait_signal_locked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:288,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:289,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:290,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:292,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:292,1
    - Dst: vbe_connwait_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:295,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:299,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:299,1
    - Dst: PFD_Fd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:300,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:301,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:302,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:304,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:307,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:309,1
    - Dst: VPX_Send_Proxy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:313,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:315,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:317,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:318,1
    - Dst: VCP_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:322,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:323,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:324,1
    - Dst: vbe_connwait_signal_locked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:328,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:329,1
    - Dst: vbe_connwait_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:330,1
    - Dst: PFD_LocalName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:335,1
    - Dst: PFD_RemoteName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:336,1
    - Dst: PFD_State
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:337,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:338,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:339,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:341,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:343,1
    - Dst: PFD_Age
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:344,1
    - Dst: PFD_Reused
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:344,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:347,1
    - Dst: FIND_TMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:351,1
    - Dst: FIND_TMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:353,1
    - Dst: vbe_connwait_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:355,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 121
    argCount: 4
    argNames:
    - wrk
    - dir
    - bp
    - force_fresh
    argTypes:
    - struct worker*
    - VCL_BACKEND
    - struct backend*
    - unsigned
    assertStmts:
    - condition: (*fdp >= 0)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    - condition: (cw->cw_state == CW_QUEUED)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 357
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 357
    functionName: vbe_dir_getfd
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - VAS_errtxt
    - VTIM_real
    - VTAILQ_INSERT_TAIL
    - pthread_cond_init
    - PFD_LocalName
    - VSLb
    - PFD_Fd
    - AN
    - FIND_TMO
    - VTAILQ_EMPTY
    - VRT_BACKEND_string
    - VRT_Healthy
    - WS_Alloc
    - PFD_Age
    - FIND_BE_PARAM
    - VPX_Send_Proxy
    - Lck_Lock
    - BE_BUSY
    - VTAILQ_REMOVE
    - VBE_Connect_Error
    - VCP_Get
    - FIND_BE_TMO
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - PTOK
    - vbe_connwait_signal_locked
    - W_TIM_real
    - PFD_Reused
    - Lck_CondWaitUntil
    - Lck_Unlock
    - PFD_RemoteName
    - VCP_Close
    - VSLb_ts_busyobj
    - PFD_State
    - vbe_connwait_fini
    linkageType: ''
    returnType: struct pfd
    signature: "struct pfd *\nvbe_dir_getfd(VRT_CTX, struct worker *wrk, VCL_BACKEND
      dir, struct backend *bp,\n    unsigned force_fresh)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:366,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:367,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:369,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:370,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:372,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:373,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:378,1
    - Dst: PFD_Fd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:378,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:379,1
    - Dst: VCP_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:380,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:381,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:382,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:384,1
    - Dst: PFD_State
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:384,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:385,1
    - Dst: PFD_Fd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:385,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:386,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:387,1
    - Dst: VCP_Recycle
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:389,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:391,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:393,1
    - Dst: vbe_connwait_signal_locked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:397,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_BACKEND
    assertStmts:
    - condition: (PFD_State(pfd) == PFD_STATE_USED)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    - condition: (bp->n_conn > 0)
      pos:
        line_end: 390
        line_start: 390
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 400
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 400
    functionName: vbe_dir_finish
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - VCP_Close
    - VRT_BACKEND_string
    - VSLb
    - CAST_OBJ_NOTNULL
    - AZ
    - assert
    - vbe_connwait_signal_locked
    - Lck_Lock
    - PFD_State
    - VCP_Recycle
    - PFD_Fd
    linkageType: ''
    returnType: void
    signature: void vbe_dir_finish(VRT_CTX, VCL_BACKEND d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: ACCT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCT(foo)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:411,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:412,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:414,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:415,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:417,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:419,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:420,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:427,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:428,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:432,1
    - Dst: vbe_dir_getfd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:433,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:436,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:437,1
    - Dst: PFD_State
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:438,1
    - Dst: V1F_SendReq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:441,1
    - Dst: PFD_State
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:444,1
    - Dst: VCP_Wait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:445,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:445,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:448,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:455,1
    - Dst: PFD_State
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:455,1
    - Dst: V1F_FetchRespHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:457,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:459,1
    - Dst: http_VSL_log
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:460,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:464,1
    - Dst: vbe_dir_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:471,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:472,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_BACKEND
    assertStmts:
    - condition: (PFD_State(pfd) == PFD_STATE_USED)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 480
      start: 403
    functionDepth: 6
    functionLinenumber: 403
    functionLinenumberEnd: 480
    functionName: vbe_dir_gethdrs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - AN
    - V1F_FetchRespHdr
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - VTIM_real
    - http_PrintfHeader
    - vbe_dir_getfd
    - CAST_OBJ_NOTNULL
    - VCP_Wait
    - assert
    - vbe_dir_finish
    - AZ
    - PFD_State
    - http_VSL_log
    - V1F_SendReq
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vbe_dir_gethdrs(VRT_CTX, VCL_BACKEND d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:487,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:488,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:489,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:490,1
    - Dst: VCP_GetIp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 494
    functionName: vbe_dir_getip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - VCP_GetIp
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbe_dir_getip(VRT_CTX, VCL_BACKEND d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:508,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:509,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:510,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:511,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:512,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:514,1
    - Dst: vbe_dir_getfd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:523,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:526,1
    - Dst: V1F_SendReq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:527,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:529,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:529,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:532,1
    - Dst: V1P_Process
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:536,1
    - Dst: PFD_Fd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:536,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:539,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:539,1
    - Dst: vbe_dir_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:541,1
    - Dst: V1P_Charge
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:543,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 499
    functionDepth: 6
    functionLinenumber: 499
    functionLinenumberEnd: 546
    functionName: vbe_dir_http1pipe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - V1P_Process
    - V1P_Charge
    - CHECK_OBJ_NOTNULL
    - memset
    - vbe_dir_getfd
    - CAST_OBJ_NOTNULL
    - W_TIM_real
    - isnan
    - vbe_dir_finish
    - VSLb_ts_req
    - V1F_SendReq
    - PFD_Fd
    linkageType: ''
    returnType: void
    signature: void vbe_dir_http1pipe(VRT_CTX, VCL_BACKEND d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:555,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:556,1
    - Dst: VRT_VSC_Reveal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:559,1
    - Dst: VBP_Control
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:561,1
    - Dst: VBP_Control
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:564,1
    - Dst: VRT_VSC_Hide
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:565,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:567,1
    - Dst: vbe_connwait_broadcast
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:572,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - d
    - ev
    argTypes:
    - struct director*
    - enum vcl_event_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 574
    functionName: vbe_dir_event
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - vbe_connwait_broadcast
    - VRT_VSC_Reveal
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - VRT_VSC_Hide
    - VRT_DelDirector
    - VBP_Control
    linkageType: ''
    returnType: void
    signature: void vbe_dir_event(const struct director *d, enum vcl_event_e ev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:582,1
    - Dst: VBP_Remove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:585,1
    - Dst: VSC_vbe_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:587,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:588,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:590,1
    - Dst: VCP_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:591,1
    - Dst: VRT_BACKEND_HANDLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:595,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:598,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:600,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:600,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct backend*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&be->cw_head))
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 602
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 602
    functionName: vbe_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - VSC_vbe_Destroy
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - VBP_Remove
    - assert
    - VCP_Rel
    - Lck_Lock
    - VRT_BACKEND_HANDLE
    - free
    linkageType: ''
    returnType: void
    signature: void vbe_free(struct backend *be)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    functionName: DA
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:609,1
    - Dst: vbe_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct director*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 605
    functionDepth: 4
    functionLinenumber: 605
    functionLinenumberEnd: 611
    functionName: vbe_destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - vbe_free
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbe_destroy(const struct director *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAN_CheckMagic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:620,1
    - Dst: PAN_CheckMagic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:622,1
    - Dst: VCP_Panic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:624,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:625,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - d
    - vsb
    argTypes:
    - struct director*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 615
    functionDepth: 3
    functionLinenumber: 615
    functionLinenumberEnd: 627
    functionName: vbe_panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - PAN_CheckMagic
    - VCP_Panic
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void vbe_panic(const struct director *d, struct vsb *vsb)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:642,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:643,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:644,1
    - Dst: VBP_Status
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:649,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:651,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:653,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:657,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:661,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:662,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:665,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - d
    - vsb
    - pflag
    - jflag
    argTypes:
    - struct director*
    - struct vsb*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 669
    functionName: vbe_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - CAST_OBJ_NOTNULL
    - VSB_cat
    - VBP_Status
    - VTCP_name
    linkageType: ''
    returnType: void
    signature: "void vbe_list(VRT_CTX, const struct director *d, struct vsb *vsb,
      int pflag,\n    int jflag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:680,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - d
    - t
    argTypes:
    - VCL_BACKEND
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 687
    functionName: vbe_healthy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbe_healthy(VRT_CTX, VCL_BACKEND d, VCL_TIME *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_VSC_Overhead
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 728
    functionName: VRT_backend_vsm_need
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - VRT_VSC_Overhead
    linkageType: ''
    returnType: size_t
    signature: size_t VRT_backend_vsm_need(VRT_CTX)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:743,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:744,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:747,1
    - Dst: VRT_DirectorResolve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:751,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:754,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:758,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:759,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:763,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - vep
    - via
    argTypes:
    - struct vrt_endpoint*
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 769
    functionName: via_resolve
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRT_DirectorResolve
    - CAST_OBJ_NOTNULL
    - VRT_fail
    - CHECK_OBJ
    linkageType: ''
    returnType: struct backend
    signature: 'struct backend *

      via_resolve(VRT_CTX, const struct vrt_endpoint *vep, VCL_BACKEND via)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:783,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:784,1
    - Dst: VRT_Endpoint_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:786,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:787,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:789,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:794,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:795,1
    - Dst: VPX_Format_Proxy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:796,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:797,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:798,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:799,1
    - Dst: VRT_Endpoint_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:801,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:802,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:803,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - vep
    - sa
    - auth
    argTypes:
    - struct vrt_endpoint*
    - struct suckaddr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 807
    functionName: via_endpoint
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - VPX_Format_Proxy
    - VSB_len
    - VRT_Endpoint_Clone
    - VSB_data
    - VSB_new_auto
    - VSA_Get_Proto
    - VSB_destroy
    linkageType: ''
    returnType: struct vrt_endpoint
    signature: "struct vrt_endpoint *\nvia_endpoint(const struct vrt_endpoint *vep,
      const struct suckaddr *sa,\n    const char *auth)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:822,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:823,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:825,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:828,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:832,1
    - Dst: via_resolve
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:836,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:842,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:843,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:846,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:849,1
    - Dst: VRT_BACKEND_HANDLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:853,1
    - Dst: CPTMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:863,1
    - Dst: CPTMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:864,1
    - Dst: CPTMO
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:865,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:879,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:880,1
    - Dst: VSC_vbe_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:884,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:885,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:886,1
    - Dst: VRT_VSC_Hide
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:888,1
    - Dst: via_endpoint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:891,1
    - Dst: VRT_Endpoint_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:894,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:896,1
    - Dst: VCP_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:897,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:898,1
    - Dst: VCL_DefaultProbe
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:902,1
    - Dst: VBP_Insert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:905,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:913,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:915,1
    - Dst: VRT_AddDirector
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:917,1
    - Dst: vbe_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:920,1
    - Dst: VBP_Update_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:925,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 3
    argNames:
    - vc
    - vrt
    - via
    argTypes:
    - struct vsmw_cluster*
    - struct vrt_backend*
    - VCL_BACKEND
    assertStmts:
    - condition: (vep->ipv4== NULL && vep->ipv6== NULL)
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    constantsTouched: []
    func_position:
      end: 927
      start: 809
    functionDepth: 4
    functionLinenumber: 809
    functionLinenumberEnd: 927
    functionName: VRT_new_backend_clustered
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - VRT_AddDirector
    - VRT_VSC_Hide
    - VCL_Name
    - VRT_BACKEND_HANDLE
    - vbe_free
    - AN
    - via_endpoint
    - REPLACE
    - VSC_vbe_New
    - Lck_Lock
    - via_resolve
    - VTAILQ_INIT
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    - assert
    - VRT_Endpoint_Clone
    - VBP_Update_Backend
    - VCP_Ref
    - VBP_Insert
    - Lck_Unlock
    - VCL_DefaultProbe
    - CPTMO
    - ALLOC_OBJ
    - VTCP_name
    linkageType: ''
    returnType: VCL_BACKEND
    signature: "VCL_BACKEND VRT_new_backend_clustered(VRT_CTX, struct vsmw_cluster
      *vc,\n    const struct vrt_backend *vrt, VCL_BACKEND via)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 852
    functionName: DA
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 853
    functionName: DN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: CPTMO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPTMO(a, b, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:933,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:934,1
    - Dst: VRT_new_backend_clustered
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vrt
    - via
    argTypes:
    - struct vrt_backend*
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 5
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: VRT_new_backend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - VRT_new_backend_clustered
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VRT_new_backend(VRT_CTX, const struct vrt_backend *vrt,
      VCL_BACKEND via)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:948,1
    - Dst: VRT_DisableDirector
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:949,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dp
    argTypes:
    - VCL_BACKEND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 951
    functionName: VRT_delete_backend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - VRT_Assign_Backend
    - VRT_DisableDirector
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_delete_backend(VRT_CTX, VCL_BACKEND *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: VBE_InitCfg
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    functionUses: 0
    functionsReached:
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void VBE_InitCfg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: IS_NO_VXID
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_NO_VXID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: VXID_TAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VXID_TAG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: VXID
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VXID(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: IS_SAME_VXID
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_SAME_VXID(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - n
    - ','
    - a
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: BODYSTATUS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODYSTATUS(U, l, n, a, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - stat
    - ','
    - err
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: SESS_CLOSE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_CLOSE(nm, stat, err, desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: ACCT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCT(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: ACCT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCT(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prio
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: TASK_QUEUE_LIMITED
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TASK_QUEUE_LIMITED(prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: OBJ_VARATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_VARATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: OBJ_AUXATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OBJ_AUXATTR(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 434
    functionName: BERESP_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BERESP_FLAG(l, r, w, f, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 435
    functionName: BEREQ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEREQ_FLAG(l, r, w, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bo
    - ','
    - pfx
    - ','
    - tmo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: BUSYOBJ_TMO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUSYOBJ_TMO(bo, pfx, tmo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: REQ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_FLAG(l, r, w, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: IS_TOPREQ
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TOPREQ(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - tmo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: SESS_TMO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_TMO(sp, tmo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: IS_CLI
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CLI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: ASSERT_CLI
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_CLI()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wrk
    - ','
    - oc
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 681
    functionName: HTTP_FOREACH_PACK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_FOREACH_PACK(wrk, oc, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 693
    functionName: HTTPH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPH(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 701
    functionName: http_tok_eq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_tok_eq(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 702
    functionName: http_tok_at
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_tok_at(s1, s2, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 703
    functionName: http_ctok_at
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_ctok_at(s, cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 706
    functionName: http_scheme_at
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_scheme_at(str, tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - wkm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: http_method_eq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_method_eq(check, wkm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - wkms
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: http_method_among
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_method_among(check, wkms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: http_hdr_eq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_hdr_eq(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 719
    functionName: http_hdr_at
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_hdr_at(s1, s2, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 723
    functionName: http_coding_eq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_coding_eq(str, tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 726
    functionName: http_expect_eq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_expect_eq(str, tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - tok
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 729
    functionName: http_range_at
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: http_range_at(str, tok, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 748
    functionName: Lck_New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Lck_New(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 749
    functionName: Lck_Lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 129
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Lck_Lock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 750
    functionName: Lck_Unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 130
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Lck_Unlock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 751
    functionName: Lck_Trylock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Lck_Trylock(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: Lck_AssertHeld
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Lck_AssertHeld(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 761
    functionName: LOCK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK(nam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - fam
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 846
    functionName: VFLA_SIZE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_SIZE(type, fam, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - type
    - ','
    - cptr
    - ','
    - mag
    - ','
    - fam
    - ','
    - cap
    - ','
    - save
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 853
    functionName: VFLA_INIT_
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_INIT_(type, cptr, mag, fam, cap, save)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - cptr
    - ','
    - mag
    - ','
    - fam
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 855
    functionName: VFLA_INIT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_INIT(type, cptr, mag, fam, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - mag
    - ','
    - fam
    - ','
    - cap
    - ','
    - bufname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 863
    functionName: VFLA_LOCAL_
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_LOCAL_(type, name, mag, fam, cap, bufname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - mag
    - ','
    - fam
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 865
    functionName: VFLA_LOCAL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_LOCAL(type, name, mag, fam, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - mag
    - ','
    - fam
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: VFLA_ALLOC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_ALLOC(type, name, mag, fam, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - cptr
    - ','
    - fam
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 875
    functionName: VFLA_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_FOREACH(var, cptr, fam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - cptr
    - ','
    - fam
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 881
    functionName: VFLA_FOREACH_RESUME
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_FOREACH_RESUME(var, cptr, fam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cptr
    - ','
    - fam
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 882
    functionName: VFLA_GET
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_GET(cptr, fam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cptr
    - ','
    - fam
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 887
    functionName: VFLA_ADD
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VFLA_ADD(cptr, fam, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 889
    functionName: VSCARAB_SIZE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_SIZE(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scarab
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 890
    functionName: VSCARAB_INIT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_INIT(scarab, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scarab
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 891
    functionName: VSCARAB_LOCAL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_LOCAL(scarab, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scarab
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 892
    functionName: VSCARAB_ALLOC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_ALLOC(scarab, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - scarab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 893
    functionName: VSCARAB_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_FOREACH(var, scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - scarab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 894
    functionName: VSCARAB_FOREACH_RESUME
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_FOREACH_RESUME(var, scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scarab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 895
    functionName: VSCARAB_GET
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_GET(scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scarab
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: VSCARAB_ADD
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_ADD(scarab, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scarab
    - ','
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: VSCARAB_ADD_IOV_NORET
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_ADD_IOV_NORET(scarab, vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scarab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: VSCARAB_LAST
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_LAST(scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scarab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 906
    functionName: VSCARAB_CHECK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_CHECK(scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scarab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: VSCARAB_CHECK_NOTNULL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARAB_CHECK_NOTNULL(scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 927
    functionName: VSCARET_SIZE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_SIZE(cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scaret
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 928
    functionName: VSCARET_INIT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_INIT(scaret, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scaret
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 929
    functionName: VSCARET_LOCAL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_LOCAL(scaret, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scaret
    - ','
    - cap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 930
    functionName: VSCARET_ALLOC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_ALLOC(scaret, cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - scaret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 931
    functionName: VSCARET_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_FOREACH(var, scaret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scaret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 932
    functionName: VSCARET_GET
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_GET(scaret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scaret
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 933
    functionName: VSCARET_ADD
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_ADD(scaret, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scaret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: VSCARET_CHECK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_CHECK(scaret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scaret
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 943
    functionName: VSCARET_CHECK_NOTNULL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSCARET_CHECK_NOTNULL(scaret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - UP
    - ','
    - low
    - ','
    - typ
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 968
    functionName: SESS_ATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_ATTR(UP, low, typ, len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:990,1
    - Dst: VSLb_ts
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - req
    - event
    - now
    argTypes:
    - struct req*
    - char*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 993
    functionName: VSLb_ts_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 6
    functionsReached:
    - isnan
    - VSLb_ts
    linkageType: ''
    returnType: void
    signature: void VSLb_ts_req(struct req *req, const char *event, vtim_real now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:999,1
    - Dst: VSLb_ts
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:1001,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - bo
    - event
    - now
    argTypes:
    - struct busyobj*
    - char*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1002
    functionName: VSLb_ts_busyobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 7
    functionsReached:
    - isnan
    - VSLb_ts
    linkageType: ''
    returnType: void
    signature: void VSLb_ts_busyobj(struct busyobj *bo, const char *event, vtim_real
      now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:1032,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:1033,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1036
    functionName: WS_Reservation
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 19
    functionsReached:
    - WS_Assert
    - AN
    linkageType: ''
    returnType: void
    signature: 'void *

      WS_Reservation(const struct ws *ws)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1044
    functionName: WS_ReservationSize
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 4
    functionsReached:
    - AN
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReservationSize(const struct ws *ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:1050,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache.h:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ws
    - sz
    argTypes:
    - struct ws*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1052
    functionName: WS_ReserveLumps
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 2
    functionsReached:
    - WS_ReserveAll
    - AN
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReserveLumps(struct ws *ws, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - ptr
    - ','
    - magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1071
    functionName: WS_TASK_ALLOC_OBJ
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WS_TASK_ALLOC_OBJ(ctx, ptr, magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1087
    functionName: W_TIM_real
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W_TIM_real(w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:68,1
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:69,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:71,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:72,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:73,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:73,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:76,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:77,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:78,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:79,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:80,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:81,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:82,1
    - Dst: strcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:83,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - il
    - p
    - l
    - attempt
    argTypes:
    - struct ilck*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: Lck_Witness_Lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - AN
    - bprintf
    - pthread_getspecific
    - VSL
    - PTOK
    - pthread_setspecific
    - calloc
    - strcat
    linkageType: ''
    returnType: void
    signature: "void Lck_Witness_Lock(const struct ilck *il, const char *p, int l,\n
      \   const char *attempt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:93,1
    - Dst: strrchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:96,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:101,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:101,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - il
    argTypes:
    - struct ilck*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: Lck_Witness_Unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - pthread_getspecific
    - strrchr
    - VSL
    - memcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void Lck_Witness_Unlock(const struct ilck *il)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:115,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:116,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:117,1
    - Dst: Lck_Witness_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:118,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:119,1
    - Dst: pthread_mutex_trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:120,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:121,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:124,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:124,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:125,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - lck
    - p
    - l
    argTypes:
    - struct lock*
    - char*
    - int
    assertStmts:
    - condition: (r == 0 || r == EBUSY)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    constantsTouched: []
    func_position:
      end: 131
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 131
    functionName: Lck__Lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    - pthread_self
    - AN
    - CAST_OBJ_NOTNULL
    - assert
    - PTOK
    - pthread_mutex_lock
    - AZ
    - Lck_Witness_Lock
    - DO_DEBUG
    linkageType: ''
    returnType: void
    signature: void Lck__Lock(struct lock *lck, const char *p, int l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:141,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:142,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:143,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:143,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:143,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:144,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:159,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:161,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:161,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:162,1
    - Dst: Lck_Witness_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - lck
    - p
    - l
    argTypes:
    - struct lock*
    - char*
    - int
    assertStmts:
    - condition: (pthread_equal(ilck->owner, pthread_self()))
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    constantsTouched: []
    func_position:
      end: 164
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 164
    functionName: Lck__Unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - AN
    - Lck_Witness_Unlock
    - memset
    - CAST_OBJ_NOTNULL
    - assert
    - PTOK
    - pthread_equal
    - DO_DEBUG
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void Lck__Unlock(struct lock *lck, const char *p, int l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:172,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:173,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:174,1
    - Dst: Lck_Witness_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:175,1
    - Dst: pthread_mutex_trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:176,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:177,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:179,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:182,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - lck
    - p
    - l
    argTypes:
    - struct lock*
    - char*
    - int
    assertStmts:
    - condition: (r == 0 || r == EBUSY)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    constantsTouched: []
    func_position:
      end: 186
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 186
    functionName: Lck__Trylock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_trylock
    - pthread_self
    - AN
    - CAST_OBJ_NOTNULL
    - assert
    - AZ
    - Lck_Witness_Lock
    - DO_DEBUG
    linkageType: ''
    returnType: void
    signature: void Lck__Trylock(struct lock *lck, const char *p, int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:193,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lck
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: Lck__Held
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int Lck__Held(const struct lock *lck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:203,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:204,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:205,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:206,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - lck
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: Lck__Owned
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - pthread_equal
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int Lck__Owned(const struct lock *lck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cond
    - lck
    argTypes:
    - pthread_cond_t*
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: Lck_CondWait
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 5
    functionsReached:
    - Lck_CondWaitUntil
    linkageType: ''
    returnType: void
    signature: void Lck_CondWait(pthread_cond_t *cond, struct lock *lck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isinf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:219,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:220,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:222,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:223,1
    - Dst: vmax
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:224,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:225,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cond
    - lck
    - timeout
    argTypes:
    - pthread_cond_t*
    - struct lock*
    - vtim_dur
    assertStmts:
    - condition: (timeout >= 0)
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    - condition: (timeout <= 3600)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: Lck_CondWaitTimeout
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 5
    functionsReached:
    - Lck_CondWaitUntil
    - VTIM_real
    - assert
    - isinf
    - vmax
    linkageType: ''
    returnType: void
    signature: void Lck_CondWaitTimeout(pthread_cond_t *cond, struct lock *lck, vtim_dur
      timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:234,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:235,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:236,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:237,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:237,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:237,1
    - Dst: isinf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:239,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:240,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:241,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:243,1
    - Dst: VTIM_timespec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:244,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:245,1
    - Dst: pthread_cond_timedwait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:246,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:271,1
    - Dst: pthread_cond_timedwait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:272,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:278,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:282,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cond
    - lck
    - when
    argTypes:
    - pthread_cond_t*
    - struct lock*
    - vtim_real
    assertStmts:
    - condition: (pthread_equal(ilck->owner, pthread_self()))
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    - condition: (when > 1e9)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    - condition: (ts.tv_nsec >= 0 && ts.tv_nsec <= 999999999)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    - condition: "(errno == 0 ||\n\t\t    errno == ETIMEDOUT ||\n\t\t    errno ==
        EINTR)"
      pos:
        line_end: 279
        line_start: 277
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    constantsTouched: []
    func_position:
      end: 286
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 286
    functionName: Lck_CondWaitUntil
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 5
    functionsReached:
    - pthread_self
    - AN
    - pthread_cond_timedwait
    - CAST_OBJ_NOTNULL
    - assert
    - AZ
    - pthread_equal
    - VTIM_timespec
    - pthread_cond_wait
    - VTIM_sleep
    - isinf
    linkageType: ''
    returnType: void
    signature: void Lck_CondWaitUntil(pthread_cond_t *cond, struct lock *lck, vtim_real
      when)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:293,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:294,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:295,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:296,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:297,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:298,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:302,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - lck
    - st
    - w
    argTypes:
    - struct lock*
    - struct VSC_lck*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 304
    functionName: Lck__New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - AN
    - AZ
    - PTOK
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void Lck__New(struct lock *lck, struct VSC_lck *st, const char *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:311,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:312,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:314,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:314,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - lck
    argTypes:
    - struct lock*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: Lck_Delete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 8
    functionsReached:
    - pthread_mutex_destroy
    - AN
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - PTOK
    linkageType: ''
    returnType: void
    signature: void Lck_Delete(struct lock *lck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSC_lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sg
    - name
    argTypes:
    - struct vsc_seg**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: Lck_CreateClass
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 6
    functionsReached:
    - VSC_lck_New
    linkageType: ''
    returnType: struct VSC_lck
    signature: 'struct VSC_lck *

      Lck_CreateClass(struct vsc_seg **sg, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSC_lck_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sg
    argTypes:
    - struct vsc_seg**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: Lck_DestroyClass
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached:
    - VSC_lck_Destroy
    linkageType: ''
    returnType: void
    signature: void Lck_DestroyClass(struct vsc_seg **sg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: LOCK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK(nam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: LCK_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LCK_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nam
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: LOCK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK(nam)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:43,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:45,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:46,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:48,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:49,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:50,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:51,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:52,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:54,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:55,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:58,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - vsb
    - vdc
    argTypes:
    - struct vsb*
    - struct vdp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: VDP_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 1
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - VTAILQ_EMPTY
    - VSB_printf
    - VSB_cat
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void VDP_Panic(struct vsb *vsb, const struct vdp_ctx *vdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:69,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vdc
    argTypes:
    - struct vdp_ctx*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&vdc->vdp))
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: VDP_Fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - assert
    - VTAILQ_EMPTY
    linkageType: ''
    returnType: void
    signature: void VDP_Fini(const struct vdp_ctx *vdc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:76,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:77,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:78,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:80,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:82,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:84,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:85,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:87,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:88,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:94,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 6
    argNames:
    - vdc
    - wrk
    - vsl
    - req
    - bo
    - clen
    argTypes:
    - struct vdp_ctx*
    - struct worker*
    - struct vsl_log*
    - struct req*
    - struct busyobj*
    - intmax_t*
    assertStmts:
    - condition: '((req ? 1 : 0) ^ (bo ? 1 : 0))'
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    - condition: (*clen >= -1)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    constantsTouched: []
    func_position:
      end: 103
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 103
    functionName: VDP_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - assert
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: "void VDP_Init(struct vdp_ctx *vdc, struct worker *wrk, struct vsl_log
      *vsl,\n    const struct req *req, const struct busyobj *bo, intmax_t *clen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:136,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:140,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:143,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:146,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:150,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:153,1
    - Dst: struct vdp_entry*::vdp::bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - vdc
    - act
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void*
    - ssize_t
    assertStmts:
    - condition: (act == VDP_FLUSH)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    - condition: (vdpe->end == VDP_NULL)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    - condition: (len > 0)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    constantsTouched: []
    func_position:
      end: 162
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 162
    functionName: VDP_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 2
    functionsReached:
    - assert
    - struct vdp_entry*::vdp::bytes
    - CHECK_OBJ_NOTNULL
    - VTAILQ_NEXT
    linkageType: ''
    returnType: int
    signature: "int VDP_bytes(struct vdp_ctx *vdc, enum vdp_action act,\n    const
      void *ptr, ssize_t len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:170,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:171,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:172,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:173,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:174,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:175,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:176,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:177,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:178,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:183,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:184,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:186,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:188,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:192,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:195,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:196,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:198,1
    - Dst: struct vdp_entry*::vdp::init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:200,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:204,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:205,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 4
    argNames:
    - vdc
    - ws
    - vdp
    - priv
    argTypes:
    - struct vdp_ctx*
    - struct ws*
    - struct vdp*
    - void*
    assertStmts:
    - condition: (*vdc->clen >= -1)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    constantsTouched: []
    func_position:
      end: 211
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 211
    functionName: VDP_Push
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 4
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - WS_Alloc
    - VTAILQ_REMOVE
    - AZ
    - assert
    - struct vdp_entry*::vdp::init
    - DO_DEBUG
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_ORNULL
    - VSLb
    linkageType: ''
    returnType: int
    signature: "int VDP_Push(VRT_CTX, struct vdp_ctx *vdc, struct ws *ws, const struct
      vdp *vdp,\n    void *priv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:219,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:220,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:221,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:222,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:224,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:225,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:227,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:230,1
    - Dst: struct vdp_entry*::vdp::fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:230,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:231,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:232,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:233,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:237,1
    - Dst: HSH_Cancel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - vdc
    - oc
    - boc
    argTypes:
    - struct vdp_ctx*
    - struct objcore*
    - struct boc*
    assertStmts:
    - condition: (vdpe->end == VDP_END)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    constantsTouched: []
    func_position:
      end: 243
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 243
    functionName: VDP_Close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 4
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - struct vdp_entry*::vdp::fini
    - HSH_Cancel
    - AZ
    - assert
    - VTAILQ_REMOVE
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ
    - VSLb
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VDP_Close(struct vdp_ctx *vdc, struct objcore *oc, struct
      boc *boc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:258,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:259,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:260,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:261,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:262,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:263,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:264,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:265,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:266,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:271,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:276,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:276,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:280,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:281,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:283,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:288,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:291,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:294,1
    - Dst: struct vdp_entry*::vdp::io_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:296,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:298,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:299,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - vdc
    - ws
    - vdp
    - priv
    argTypes:
    - struct vdp_ctx*
    - struct ws*
    - struct vdp*
    - void*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&vdc->vdp))
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    - condition: (*vdc->clen >= -1)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    - condition: (vdc->retval > 0)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    constantsTouched: []
    func_position:
      end: 308
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 308
    functionName: VDPIO_Push
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - WS_Alloc
    - VTAILQ_REMOVE
    - assert
    - struct vdp_entry*::vdp::io_init
    - DO_DEBUG
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_ORNULL
    - VSLb
    linkageType: ''
    returnType: int
    signature: "int VDPIO_Push(VRT_CTX, struct vdp_ctx *vdc, struct ws *ws, const
      struct vdp *vdp,\n    void *priv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:323,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:324,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:326,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:335,1
    - Dst: struct vdp_entry*::vdp::io_upgrade
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:336,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:337,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:338,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - vdc
    argTypes:
    - struct vdp_ctx*
    assertStmts:
    - condition: (r != 0)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    constantsTouched: []
    func_position:
      end: 349
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 349
    functionName: VDPIO_Upgrade
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - assert
    - DO_DEBUG
    - VTAILQ_FOREACH
    - struct vdp_entry*::vdp::io_upgrade
    - VSLb
    linkageType: ''
    returnType: int
    signature: int VDPIO_Upgrade(VRT_CTX, struct vdp_ctx *vdc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:356,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:358,1
    - Dst: struct vdp_entry*::vdp::io_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:361,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:362,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:363,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - vdc
    - vdpe
    argTypes:
    - struct vdp_ctx*
    - struct vdp_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: VDPIO_Close1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - struct vdp_entry*::vdp::io_fini
    - AZ
    - VTAILQ_REMOVE
    - VSLb
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VDPIO_Close1(struct vdp_ctx *vdc, struct vdp_entry *vdpe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:374,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:375,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:376,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:377,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:379,1
    - Dst: VDPIO_Close1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:380,1
    - Dst: HSH_Cancel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - vdc
    - oc
    - boc
    argTypes:
    - struct vdp_ctx*
    - struct objcore*
    - struct boc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: VDPIO_Close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - HSH_Cancel
    - VDPIO_Close1
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VDPIO_Close(struct vdp_ctx *vdc, struct objcore *oc, struct
      boc *boc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:402,1
    - Dst: VSCARET_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:403,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:404,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:405,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:407,1
    - Dst: ObjVAIinit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - vdc
    - oc
    - ws
    - notify_cb
    - notify_priv
    - scaret
    argTypes:
    - struct vdp_ctx*
    - struct objcore*
    - struct ws*
    - vai_notify_cb*
    - void*
    - struct vscaret*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: VDPIO_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - VSCARET_CHECK_NOTNULL
    - ObjVAIinit
    linkageType: ''
    returnType: int
    signature: "int VDPIO_Init(struct vdp_ctx *vdc, struct objcore *oc, struct ws
      *ws,\n    vai_notify_cb *notify_cb, void *notify_priv, struct vscaret *scaret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:419,1
    - Dst: ObjVAIreturn
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vdc
    argTypes:
    - struct vdp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: VDPIO_Return
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - ObjVAIreturn
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VDPIO_Return(const struct vdp_ctx *vdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:429,1
    - Dst: ObjVAInotify
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wrk
    - vdc
    argTypes:
    - struct worker*
    - struct vdp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: VDPIO_Notify
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - ObjVAInotify
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VDPIO_Notify(struct worker *wrk, const struct vdp_ctx *vdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:437,1
    - Dst: VDPIO_Return
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:439,1
    - Dst: ObjVAIfini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vdc
    argTypes:
    - struct vdp_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: VDPIO_Fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - ObjVAIfini
    - VDPIO_Return
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VDPIO_Fini(struct vdp_ctx *vdc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - priv
    - flush
    - ptr
    - len
    argTypes:
    - void*
    - unsigned
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 457
    functionName: VDP_ObjIterate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 0
    functionsReached:
    - VDP_bytes
    linkageType: ''
    returnType: void
    signature: void VDP_ObjIterate(void *priv, unsigned flush, const void *ptr, ssize_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:465,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:466,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:467,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:468,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:469,1
    - Dst: ObjIterate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - vdc
    - oc
    argTypes:
    - struct vdp_ctx*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 477
    functionName: VDP_DeliverObj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
    functionUses: 2
    functionsReached:
    - AN
    - ObjIterate
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: int
    signature: int VDP_DeliverObj(struct vdp_ctx *vdc, struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:84,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: ban_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct ban
    signature: 'struct ban *

      ban_alloc(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:94,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:95,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:96,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:96,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:99,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ban*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&b->objcore))
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: BAN_Free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - AZ
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void BAN_Free(struct ban *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:112,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:114,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ban_holds > 0)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: BAN_Hold
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - assert
    - Lck_Unlock
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void BAN_Hold(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:123,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:124,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:126,1
    - Dst: BANIDX_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:128,1
    - Dst: WRK_BgThread
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ban_holds > 0)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: BAN_Release
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - WRK_BgThread
    - BANIDX_fini
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void BAN_Release(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:143,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:144,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:145,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - banspec
    argTypes:
    - uint8_t*
    assertStmts:
    - condition: (sizeof t == sizeof u)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    - condition: (sizeof t == (BANS_LENGTH - BANS_TIMESTAMP))
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: ban_time
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 2
    functionsReached:
    - assert
    - memcpy
    - vbe64dec
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real ban_time(const uint8_t *banspec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - banspec
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: ban_len
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - vbe32dec
    linkageType: ''
    returnType: unsigned
    signature: unsigned ban_len(const uint8_t *banspec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:167,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:168,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bs1
    - bs2
    argTypes:
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: ban_equal
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ban_len
    linkageType: ''
    returnType: int
    signature: int ban_equal(const uint8_t *bs1, const uint8_t *bs2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:181,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:182,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:184,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:186,1
    - Dst: VWMB
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:189,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:190,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ban*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: ban_mark_completed
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - AN
    - vbe32enc
    - CHECK_OBJ_NOTNULL
    - ban_len
    - VWMB
    - Lck_AssertHeld
    linkageType: ''
    returnType: void
    signature: void ban_mark_completed(struct ban *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:210,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:211,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:212,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bs
    argTypes:
    - uint8_t**
    assertStmts:
    - condition: (PAOK(*bs))
      pos:
        line_end: 211
        line_start: 211
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: ban_get_lump
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - vbe32dec
    - PAOK
    - assert
    - PRNDUP
    linkageType: ''
    returnType: void
    signature: 'void *

      ban_get_lump(const uint8_t **bs)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:228,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:229,1
    - Dst: BANS_HAS_ARG1_SPEC
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:231,1
    - Dst: ban_get_lump
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:235,1
    - Dst: BANS_HAS_ARG2_DOUBLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:237,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:238,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:239,1
    - Dst: BANS_HAS_ARG2_SPEC
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:243,1
    - Dst: ban_get_lump
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - bs
    - bt
    argTypes:
    - uint8_t**
    - struct ban_test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: ban_iter
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - memcpy
    - BANS_HAS_ARG1_SPEC
    - vbe64dec
    - memset
    - ban_get_lump
    - BANS_HAS_ARG2_DOUBLE
    - nan
    - BANS_HAS_ARG2_SPEC
    linkageType: ''
    returnType: void
    signature: void ban_iter(const uint8_t **bs, struct ban_test *bt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:255,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:256,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:257,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:258,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:261,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: BAN_NewObjCore
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void BAN_NewObjCore(struct objcore *oc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:273,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:276,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:277,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:279,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:281,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts:
    - condition: (oc->ban->refcount > 0)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: BAN_DestroyObj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - VTAILQ_REMOVE
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void BAN_DestroyObj(struct objcore *oc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:298,1
    - Dst: BANIDX_lookup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:299,1
    - Dst: VTAILQ_FOREACH_FROM
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:300,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - t0
    argTypes:
    - vtim_real
    assertStmts:
    - condition: (ban_holds > 0)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: BAN_FindBan
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - assert
    - ban_time
    - BANIDX_lookup
    - VTAILQ_FOREACH_FROM
    linkageType: ''
    returnType: struct ban
    signature: 'struct ban *

      BAN_FindBan(vtim_real t0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:319,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:320,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:321,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:323,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:325,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - oc
    - b
    argTypes:
    - struct objcore*
    - struct ban*
    assertStmts:
    - condition: (ban_holds > 0)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: BAN_RefBan
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void BAN_RefBan(struct objcore *oc, struct ban *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:342,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:344,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:345,1
    - Dst: VTAILQ_FOREACH_REVERSE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:346,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:347,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:347,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:347,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:348,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:348,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:349,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:349,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:350,1
    - Dst: STV_BanExport
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:351,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:351,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:351,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:352,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (VSB_len(vsb) == ln)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 358
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 358
    functionName: ban_export
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - VSB_finish
    - ban_len
    - VTAILQ_FOREACH_REVERSE
    - AZ
    - assert
    - VSB_len
    - STV_BanExport
    - Lck_AssertHeld
    - VSB_bcat
    - Lck_Lock
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void ban_export(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:369,1
    - Dst: STV_BanInfoNew
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:370,1
    - Dst: ban_export
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ban
    - len
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: ban_info_new
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - STV_BanInfoNew
    - ban_export
    - Lck_AssertHeld
    linkageType: ''
    returnType: void
    signature: void ban_info_new(const uint8_t *ban, unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:377,1
    - Dst: STV_BanInfoDrop
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:378,1
    - Dst: ban_export
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ban
    - len
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: ban_info_drop
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - STV_BanInfoDrop
    - ban_export
    - Lck_AssertHeld
    linkageType: ''
    returnType: void
    signature: void ban_info_drop(const uint8_t *ban, unsigned len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:396,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:397,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:398,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:400,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:401,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:401,1
    - Dst: BANIDX_lookup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:403,1
    - Dst: VTAILQ_FOREACH_FROM
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:404,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:405,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:406,1
    - Dst: ban_equal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:412,1
    - Dst: ban_alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:419,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:420,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:421,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:422,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:423,1
    - Dst: ban_mark_completed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:431,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:433,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:435,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:440,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:440,1
    - Dst: ban_equal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:443,1
    - Dst: ban_mark_completed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:444,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - ban
    - len
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts:
    - condition: (ban_holds > 0)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    - condition: (t1 < t2)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    - condition: (len == ban_len(ban))
      pos:
        line_end: 400
        line_start: 400
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 448
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 448
    functionName: ban_reload
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH_FROM
    - VTAILQ_NEXT
    - AN
    - ban_equal
    - malloc
    - memcpy
    - ban_alloc
    - ban_time
    - ban_len
    - BANIDX_lookup
    - ASSERT_CLI
    - assert
    - Lck_AssertHeld
    - VTAILQ_INSERT_TAIL
    - ban_mark_completed
    - VTAILQ_INSERT_BEFORE
    linkageType: ''
    returnType: void
    signature: void ban_reload(const uint8_t *ban, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:460,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:462,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:467,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:468,1
    - Dst: ban_reload
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:469,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts:
    - condition: (ptr + l <= pe)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 473
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 473
    functionName: BAN_Reload
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - ban_reload
    - Lck_Unlock
    - ban_len
    - AZ
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void BAN_Reload(const uint8_t *ptr, unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:486,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct ban*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: BAN_Time
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 2
    functionsReached:
    - ban_time
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real BAN_Time(const struct ban *b)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:516,1
    - Dst: ban_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:520,1
    - Dst: nan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:522,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:525,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:529,1
    - Dst: CAST_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:530,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:531,1
    - Dst: CAST_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:535,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:536,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:539,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:543,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:547,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:558,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:561,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:564,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:570,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:572,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:578,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:580,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:587,1
    - Dst: xxxassert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:588,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:595,1
    - Dst: xxxassert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:596,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:601,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:602,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:602,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:607,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:608,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:608,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:613,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:614,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:614,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:619,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:620,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:620,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:625,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 116
    argCount: 5
    argNames:
    - wrk
    - bsarg
    - oc
    - reqhttp
    - tests
    argTypes:
    - struct worker*
    - uint8_t*
    - struct objcore*
    - struct http*
    - unsigned*
    assertStmts:
    - condition: (! isnan(darg1))
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    - condition: (! isnan(darg1))
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    - condition: (! isnan(darg1))
      pos:
        line_end: 613
        line_start: 613
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    - condition: (! isnan(darg1))
      pos:
        line_end: 607
        line_start: 607
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 629
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 629
    functionName: ban_evaluate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 2
    functionsReached:
    - AN
    - ban_iter
    - CAST_HDR
    - http_GetHdr
    - xxxassert
    - ban_time
    - ban_len
    - strcmp
    - isnan
    - VRE_match
    - AZ
    - assert
    - HTTP_GetHdrPack
    - WRONG
    - nan
    linkageType: ''
    returnType: int
    signature: "int ban_evaluate(struct worker *wrk, const uint8_t *bsarg, struct
      objcore *oc,\n    const struct http *reqhttp, unsigned *tests)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:649,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:650,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:651,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:652,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:653,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:657,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:661,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:667,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:672,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:674,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:679,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:680,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:688,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:689,1
    - Dst: ban_evaluate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:692,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:696,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:704,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:705,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:713,1
    - Dst: ban_kick_lurker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:714,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:716,1
    - Dst: ObjSendEvent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:720,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:723,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:724,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:724,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - wrk
    - oc
    - req
    argTypes:
    - struct worker*
    - struct objcore*
    - struct req*
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 652
        line_start: 652
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    constantsTouched: []
    func_position:
      end: 727
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 727
    functionName: BAN_CheckObject
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - ObjSendEvent
    - ObjGetXID
    - VTAILQ_LAST
    - VTAILQ_REMOVE
    - assert
    - Lck_Lock
    - Lck_AssertHeld
    - ban_kick_lurker
    - VTAILQ_NEXT
    - ban_evaluate
    - VXID
    - VSLb
    linkageType: ''
    returnType: int
    signature: int BAN_CheckObject(struct worker *wrk, struct objcore *oc, struct
      req *req)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:746,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:747,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:751,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:752,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:753,1
    - Dst: BAN_Build
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:758,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:760,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:761,1
    - Dst: BAN_AddTest
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:765,1
    - Dst: BAN_Commit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:772,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:776,1
    - Dst: BAN_Abandon
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:777,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:778,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 780
    functionName: ccf_ban
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - BAN_AddTest
    - VCLI_SetResult
    - VCLI_Out
    - BAN_Commit
    - strcmp
    - BAN_Abandon
    - BAN_Build
    linkageType: ''
    returnType: void
    signature: void ccf_ban(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - var
    - ','
    - s
    - ','
    - unit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 791
    functionName: Xfmt
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Xfmt(buf, var, s, unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - dur
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 810
    functionName: vdur_render
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vdur_render(buf, dur)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:818,1
    - Dst: ban_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:821,1
    - Dst: ASSERT_BAN_ARG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:822,1
    - Dst: ASSERT_BAN_OPER
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:823,1
    - Dst: BANS_HAS_ARG1_SPEC
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:825,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:826,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:827,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:830,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:830,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:832,1
    - Dst: BAN_OPERIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:832,1
    - Dst: BANS_HAS_ARG2_DOUBLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:834,1
    - Dst: vdur_render
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:835,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:836,1
    - Dst: VCLI_Quote
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:838,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:840,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - cli
    - bs
    - quote
    argTypes:
    - struct cli*
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 846
    functionName: ban_render
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - BAN_OPERIDX
    - ban_iter
    - BANS_HAS_ARG1_SPEC
    - BAN_ARGIDX
    - ban_len
    - VCLI_Out
    - ASSERT_BAN_ARG
    - BANS_HAS_ARG2_DOUBLE
    - vdur_render
    - ASSERT_BAN_OPER
    - VCLI_Quote
    linkageType: ''
    returnType: void
    signature: void ban_render(struct cli *cli, const uint8_t *bs, int quote)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:854,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:855,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:857,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:857,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:860,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:861,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:866,1
    - Dst: ban_render
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:867,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:868,1
    - Dst: VCLI_Overflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:869,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:871,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:872,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:874,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:875,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - cli
    - bl
    argTypes:
    - struct cli*
    - struct ban*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 879
    functionName: ban_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - ban_render
    - Lck_Unlock
    - ban_time
    - VCLI_Out
    - VCLI_Overflow
    - Lck_Lock
    - DO_DEBUG
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void ban_list(struct cli *cli, struct ban *bl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:889,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:890,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:891,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:893,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:895,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:896,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:897,1
    - Dst: ban_time
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:897,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:898,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:899,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:901,1
    - Dst: ban_render
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:902,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:903,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:905,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:906,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:907,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:909,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:911,1
    - Dst: VCLI_Overflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:912,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:916,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:917,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:918,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:920,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:922,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:923,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:926,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:927,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:928,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:930,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:931,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 3
    argNames:
    - cli
    - av
    - bl
    argTypes:
    - struct cli*
    - char**
    - struct ban*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 881
    functionDepth: 3
    functionLinenumber: 881
    functionLinenumberEnd: 934
    functionName: ban_list_json
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - ban_render
    - Lck_Unlock
    - ban_time
    - VCLI_Out
    - VCLI_JSON_end
    - VCLI_Overflow
    - VCLI_JSON_begin
    - DO_DEBUG
    - Lck_Lock
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void ban_list_json(struct cli *cli, const char * const *av, struct
      ban *bl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:944,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:945,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:947,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:949,1
    - Dst: ban_list_json
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:950,1
    - Dst: ban_list
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:952,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:954,1
    - Dst: ban_kick_lurker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:956,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 958
    functionName: ccf_ban_list
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - VTAILQ_LAST
    - strcmp
    - Lck_Lock
    - ban_kick_lurker
    - ban_list_json
    - ban_list
    linkageType: ''
    returnType: void
    signature: void ccf_ban_list(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:980,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:981,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:983,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:986,1
    - Dst: ban_info_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:987,1
    - Dst: ban_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:987,1
    - Dst: ban_export
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:989,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:991,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:993,1
    - Dst: BAN_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 995
    functionName: BAN_Compile
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - Lck_Unlock
    - ban_len
    - ASSERT_CLI
    - AZ
    - Lck_Lock
    - ban_info_new
    - ban_export
    - BAN_Release
    linkageType: ''
    returnType: void
    signature: void BAN_Compile(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BAN_Build_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1002,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1003,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1004,1
    - Dst: BAN_Build
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1009,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1010,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1011,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1011,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1012,1
    - Dst: BAN_Commit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1012,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1013,1
    - Dst: ban_mark_completed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1014,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1014,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1016
    functionName: BAN_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - Lck_Unlock
    - BAN_Commit
    - AZ
    - CLI_AddFuncs
    - BAN_Build_Init
    - PTOK
    - Lck_Lock
    - pthread_cond_init
    - BAN_Build
    - ban_mark_completed
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void BAN_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1031,1
    - Dst: ban_kick_lurker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1033,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1034,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1036,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1036,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1037,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1039,1
    - Dst: ban_export
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1041,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1042,1
    - Dst: BAN_Build_Fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1045
    functionName: BAN_Shutdown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - BAN_Build_Fini
    - AZ
    - PTOK
    - Lck_Lock
    - pthread_join
    - ban_kick_lurker
    - ban_export
    linkageType: ''
    returnType: void
    signature: void BAN_Shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: VBE_AHEALTH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_director.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBE_AHEALTH(l,u,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: VCF_RETURNS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCF_RETURNS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: VCF_RETURN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCF_RETURN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - req
    - ','
    - oc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: EXP_Dttl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXP_Dttl(req, oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: EXP_ZERO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXP_ZERO(xx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - fm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: EXP_COPY
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXP_COPY(to,fm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: EXP_WHEN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXP_WHEN(to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vsb
    - ','
    - ptr
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 394
    functionName: PAN_CheckMagic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAN_CheckMagic(vsb, ptr, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vsb
    - ','
    - ptr
    - ','
    - magic
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: PAN_dump_struct
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAN_dump_struct(vsb, ptr, magic, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vsb
    - ','
    - ptr
    - ','
    - magic
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: PAN_dump_oneline
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAN_dump_oneline(vsb, ptr, magic, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vsb
    - ','
    - ptr
    - ','
    - magic
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: PAN_dump_once
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAN_dump_once(vsb, ptr, magic, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vsb
    - ','
    - ptr
    - ','
    - magic
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: PAN_dump_once_oneline
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAN_dump_once_oneline(vsb, ptr, magic, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - UP
    - ','
    - low
    - ','
    - typ
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: SESS_ATTR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_ATTR(UP, low, typ, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: VCL_MET_MAC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_MET_MAC(l,u,t,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 569
    functionName: WS_IsReserved
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int WS_IsReserved(const struct ws *ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 609
    functionName: FEATURE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FEATURE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 610
    functionName: EXPERIMENT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPERIMENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: DO_DEBUG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_DEBUG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - debug_bit
    - ','
    - id
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: DSL
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSL(debug_bit, id, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - debug_bit
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: DSLb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSLb(debug_bit, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:73,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:75,1
    - Dst: VGZ_Ibuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:90,1
    - Dst: VFP_GetStorage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:93,1
    - Dst: VGZ_Obuf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:98,1
    - Dst: VGZ_Gzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:99,1
    - Dst: VGZ_UpdateObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:100,1
    - Dst: VFP_Extend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:103,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:106,1
    - Dst: VGZ_ObufFull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:106,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:107,1
    - Dst: VGZ_IbufEmpty
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - vc
    - priv
    - l
    - flg
    argTypes:
    - struct vfp_ctx*
    - void*
    - ssize_t
    - enum vgz_flag
    assertStmts:
    - condition: (l >= 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    - condition: (i == VGZ_ERROR || VGZ_IbufEmpty(vef->vgz))
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    constantsTouched: []
    func_position:
      end: 110
      start: 64
    functionDepth: 9
    functionLinenumber: 64
    functionLinenumberEnd: 110
    functionName: vfp_vep_callback
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    functionUses: 0
    functionsReached:
    - VGZ_Obuf
    - CHECK_OBJ_NOTNULL
    - VFP_Extend
    - VGZ_IbufEmpty
    - VGZ_Ibuf
    - VGZ_Gzip
    - CAST_OBJ_NOTNULL
    - assert
    - VGZ_UpdateObj
    - VFP_GetStorage
    - VGZ_ObufFull
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vfp_vep_callback(struct vfp_ctx *vc, void *priv, ssize_t l,
      enum vgz_flag flg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:120,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:121,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:127,1
    - Dst: VEP_Finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:130,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:134,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:135,1
    - Dst: ObjSetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:136,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:137,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:139,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:143,1
    - Dst: VGZ_UpdateObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:148,1
    - Dst: VGZ_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:149,1
    - Dst: VFP_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:150,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:154,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:155,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - vc
    - vef
    - retval
    argTypes:
    - struct vfp_ctx*
    - struct vef_priv*
    - enum vfp_status
    assertStmts:
    - condition: (retval == VFP_END)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    - condition: (l > 0)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    constantsTouched: []
    func_position:
      end: 157
      start: 112
    functionDepth: 8
    functionLinenumber: 112
    functionLinenumberEnd: 157
    functionName: vfp_esi_end
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    functionUses: 0
    functionsReached:
    - VEP_Finish
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - assert
    - VSB_len
    - ObjSetAttr
    - VGZ_UpdateObj
    - VGZ_Destroy
    - VSB_data
    - VFP_Error
    - free
    - VSB_destroy
    linkageType: ''
    returnType: enum vfp_status
    signature: "enum vfp_status vfp_esi_end(struct vfp_ctx *vc, struct vef_priv *vef,\n
      \   enum vfp_status retval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:164,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:165,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:166,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:167,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:168,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:169,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:173,1
    - Dst: VEP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:177,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:179,1
    - Dst: VGZ_NewGzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:182,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:183,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:186,1
    - Dst: vfp_esi_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:188,1
    - Dst: RFC2616_Weaken_Etag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:193,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:194,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:195,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:196,1
    - Dst: RFC2616_Vary_AE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - vc
    - vfe
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 160
    functionDepth: 9
    functionLinenumber: 160
    functionLinenumberEnd: 201
    functionName: vfp_esi_gzip_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    functionUses: 0
    functionsReached:
    - AN
    - RFC2616_Vary_AE
    - CHECK_OBJ_NOTNULL
    - vfp_esi_end
    - FREE_OBJ
    - http_Unset
    - http_SetHeader
    - VEP_Init
    - calloc
    - http_GetStatus
    - VGZ_NewGzip
    - RFC2616_Weaken_Etag
    - ALLOC_OBJ
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vfp_esi_gzip_init(VRT_CTX, struct vfp_ctx *vc, struct vfp_entry
      *vfe)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:211,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:212,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:213,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:214,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:215,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:218,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:219,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:223,1
    - Dst: VEP_Parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:226,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:228,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:235,1
    - Dst: vfp_esi_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts:
    - condition: (vef->ibuf_o >= vef->ibuf && vef->ibuf_o <= vef->ibuf_i)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    constantsTouched: []
    func_position:
      end: 244
      start: 204
    functionDepth: 9
    functionLinenumber: 204
    functionLinenumberEnd: 244
    functionName: vfp_esi_gzip_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    functionUses: 0
    functionsReached:
    - AN
    - VRND_RandomTestable
    - CHECK_OBJ_NOTNULL
    - vfp_esi_end
    - VEP_Parse
    - CAST_OBJ_NOTNULL
    - VFP_Suck
    - assert
    - memmove
    - DO_DEBUG
    linkageType: ''
    returnType: void
    signature: "void vfp_esi_gzip_pull(struct vfp_ctx *vc, struct vfp_entry *vfe,
      void *p,\n   ssize_t *lp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:252,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:253,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:254,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:255,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:256,1
    - Dst: VEP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:260,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - vc
    - vfe
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 270
    functionName: vfp_esi_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VEP_Init
    - http_GetStatus
    - ALLOC_OBJ
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vfp_esi_init(VRT_CTX, struct vfp_ctx *vc, struct vfp_entry *vfe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:278,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:279,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:280,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:281,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:282,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:283,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:284,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:284,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:286,1
    - Dst: VEP_Parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:288,1
    - Dst: vfp_esi_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 273
    functionDepth: 9
    functionLinenumber: 273
    functionLinenumberEnd: 294
    functionName: vfp_esi_pull
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VRND_RandomTestable
    - vfp_esi_end
    - vmin_t
    - VEP_Parse
    - CAST_OBJ_NOTNULL
    - VFP_Suck
    - DO_DEBUG
    linkageType: ''
    returnType: void
    signature: void vfp_esi_pull(struct vfp_ctx *vc, struct vfp_entry *vfe, void *p,
      ssize_t *lp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:299,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:300,1
    - Dst: vfp_esi_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - vc
    - vfe
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 9
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: vfp_esi_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vfp_esi_end
    linkageType: ''
    returnType: void
    signature: void vfp_esi_fini(struct vfp_ctx *vc, struct vfp_entry *vfe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:55,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:56,1
    - Dst: IS_NO_VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:60,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:61,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:70,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ds
    - req
    argTypes:
    - struct VSC_main_wrk*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: Req_AcctLogCharge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - IS_TOPREQ
    - memset
    - IS_NO_VXID
    - VSLb
    linkageType: ''
    returnType: void
    signature: void Req_AcctLogCharge(struct VSC_main_wrk *ds, struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: ACCT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCT(foo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:83,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:84,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:85,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:88,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:93,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:94,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:94,1
    - Dst: EXP_Dttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:94,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:98,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:99,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:99,1
    - Dst: EXP_Dttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - wrk
    - req
    - oc
    - fetch_progress
    argTypes:
    - struct worker*
    - struct req*
    - struct objcore*
    - intmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 102
    functionName: Req_LogHit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 1
    functionsReached:
    - ObjGetXID
    - CHECK_OBJ_NOTNULL
    - EXP_Dttl
    - HTTP_GetHdrPack
    - VXID
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void Req_LogHit(struct worker *wrk, struct req *req, struct objcore
      *oc,\n    intmax_t fetch_progress)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:109,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:110,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:111,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:113,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:114,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:115,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:117,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 121
    functionName: Req_LogStart
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 1
    functionsReached:
    - AN
    - SES_Get_String_Attr
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: char
    signature: 'char *

      Req_LogStart(const struct worker *wrk, struct req *req)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:136,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:138,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:139,1
    - Dst: MPL_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:141,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:142,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:148,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:149,1
    - Dst: HTTP_estimate
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:152,1
    - Dst: HTTP_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:154,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:156,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:157,1
    - Dst: HTTP_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:159,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:161,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:162,1
    - Dst: HTTP_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:164,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:166,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:167,1
    - Dst: VSL_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:170,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:172,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:175,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:176,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:179,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:180,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:183,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:185,1
    - Dst: UNLIKELY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:187,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:191,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:193,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:196,1
    - Dst: WS_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 2
    argNames:
    - sp
    - preq
    argTypes:
    - struct sess*
    - struct req*
    assertStmts:
    - condition: (p < e)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    - condition: (p < e)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    - condition: (p < e)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    - condition: (p < e)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    - condition: (p < e)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    constantsTouched: []
    func_position:
      end: 208
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 208
    functionName: Req_New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 5
    functionsReached:
    - MPL_Get
    - AN
    - HTTP_estimate
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - UNLIKELY
    - assert
    - HTTP_create
    - PRNDUP
    - ZERO_OBJ
    - CHECK_OBJ_ORNULL
    - WS_Init
    - VSL_Init
    linkageType: ''
    returnType: struct req
    signature: 'struct req *

      Req_New(struct sess *sp, const struct req *preq)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:216,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:223,1
    - Dst: IS_NO_VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:224,1
    - Dst: VSL_End
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:225,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:227,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:229,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:231,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:232,1
    - Dst: MPL_AssertSane
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:233,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:234,1
    - Dst: MPL_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 210
    functionDepth: 8
    functionLinenumber: 210
    functionLinenumberEnd: 236
    functionName: Req_Release
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 5
    functionsReached:
    - WS_Rollback
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - VSL_Flush
    - VSL_End
    - MPL_Free
    - AZ
    - IS_NO_VXID
    - MPL_AssertSane
    linkageType: ''
    returnType: void
    signature: void Req_Release(struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: ACCT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCT(foo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:251,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:253,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:255,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:256,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:257,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:258,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:259,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:260,1
    - Dst: HTTP_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:261,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:265,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:267,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: Req_Rollback
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 1
    functionsReached:
    - WS_Rollback
    - WS_Overflowed
    - AN
    - CHECK_OBJ_NOTNULL
    - IS_TOPREQ
    - VCL_TaskLeave
    - HTTP_Clone
    - VCL_TaskEnter
    linkageType: ''
    returnType: void
    signature: void Req_Rollback(VRT_CTX)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:279,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:280,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:281,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:282,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:283,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:284,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:286,1
    - Dst: VCL_Recache
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:290,1
    - Dst: IS_NO_VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:293,1
    - Dst: Req_AcctLogCharge
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:294,1
    - Dst: IS_SAME_VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:295,1
    - Dst: VSL_End
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:296,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:301,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:304,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:322,1
    - Dst: VDP_Fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - sp
    - wrk
    - req
    argTypes:
    - struct sess*
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (sp == req->sp)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    constantsTouched: []
    func_position:
      end: 328
      start: 275
    functionDepth: 8
    functionLinenumber: 275
    functionLinenumberEnd: 328
    functionName: Req_Cleanup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 3
    functionsReached:
    - WS_Overflowed
    - CHECK_OBJ_NOTNULL
    - IS_TOPREQ
    - IS_SAME_VXID
    - VCL_Recache
    - VSL_End
    - AZ
    - assert
    - Req_AcctLogCharge
    - IS_NO_VXID
    - isnan
    - W_TIM_real
    - VDP_Fini
    linkageType: ''
    returnType: void
    signature: void Req_Cleanup(struct sess *sp, struct worker *wrk, struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:338,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:339,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: resp_u_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 0
    functionsReached:
    - HSH_DerefBoc
    - HSH_DerefObjCore
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void resp_u_storage(struct req *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:348,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:349,1
    - Dst: resp_u_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:352,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:353,1
    - Dst: HSH_Private
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:354,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:355,1
    - Dst: STV_NewObject
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:356,1
    - Dst: resp_u_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - req
    - stv
    argTypes:
    - struct req*
    - struct stevedore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 360
    functionName: Resp_l_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - HSH_Private
    - AZ
    - STV_NewObject
    - resp_u_storage
    linkageType: ''
    returnType: int
    signature: int Resp_l_storage(struct req *req, const struct stevedore *stv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:371,1
    - Dst: struct req*::transport::req_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - reason
    argTypes:
    - struct req*
    - stream_close_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: Req_Fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
    functionUses: 2
    functionsReached:
    - struct req*::transport::req_fail
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void Req_Fail(struct req *req, stream_close_t reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - req
    - oc
    argTypes:
    - struct req*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: EXP_Ttl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real EXP_Ttl(const struct req *req, const struct objcore *oc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:91,1
    - Dst: EXP_Ttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - req
    - oc
    argTypes:
    - struct req*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: EXP_Ttl_grace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 1
    functionsReached:
    - EXP_Ttl
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real EXP_Ttl_grace(const struct req *req, const struct objcore
      *oc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:106,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:107,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:108,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:110,1
    - Dst: VSTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:115,1
    - Dst: VSTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:118,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:123,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - oc
    - cmds
    argTypes:
    - struct objcore*
    - uint8_t
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: exp_mail_it
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSTAILQ_INSERT_HEAD
    - VSTAILQ_INSERT_TAIL
    - AZ
    - assert
    - PTOK
    - Lck_AssertHeld
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void exp_mail_it(struct objcore *oc, uint8_t cmds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:135,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:137,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:139,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - oc
    argTypes:
    - struct objcore*
    assertStmts:
    - condition: (oc->refcnt >= 1)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: EXP_RefNewObjcore
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 2
    functionsReached:
    - assert
    - Lck_AssertHeld
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void EXP_RefNewObjcore(struct objcore *oc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:155,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:156,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:159,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:166,1
    - Dst: exp_mail_it
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:169,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - oc
    - new_oc
    argTypes:
    - struct objcore*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: EXP_Remove
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 4
    functionsReached:
    - Lck_Unlock
    - exp_mail_it
    - CHECK_OBJ_NOTNULL
    - AZ
    - Lck_Lock
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void EXP_Remove(struct objcore *oc, const struct objcore *new_oc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:186,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:187,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:189,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:196,1
    - Dst: ObjSendEvent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:198,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:200,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:201,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:203,1
    - Dst: exp_mail_it
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:209,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:210,1
    - Dst: ObjSendEvent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:213,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:215,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:216,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:217,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts:
    - condition: (oc->refcnt >= 2)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->refcnt >= 2)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (tmpoc->refcnt >= 1)
      pos:
        line_end: 217
        line_start: 217
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 220
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 220
    functionName: EXP_Insert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 2
    functionsReached:
    - Lck_Unlock
    - AN
    - ObjSendEvent
    - CHECK_OBJ_NOTNULL
    - exp_mail_it
    - AZ
    - assert
    - Lck_Lock
    - HSH_DerefObjCore
    linkageType: ''
    returnType: void
    signature: void EXP_Insert(struct worker *wrk, struct objcore *oc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:231,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:232,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:234,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:236,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:238,1
    - Dst: EXP_Rearm
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - oc
    - now
    - ttl
    - grace
    - keep
    argTypes:
    - struct objcore*
    - vtim_real
    - vtim_dur
    - vtim_dur
    - vtim_dur
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: EXP_Reduce
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 1
    functionsReached:
    - assert
    - isnan
    - EXP_Rearm
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void EXP_Reduce(struct objcore *oc, vtim_real now,\n    vtim_dur ttl,
      vtim_dur grace, vtim_dur keep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:255,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:256,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:261,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:263,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:265,1
    - Dst: EXP_WHEN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:268,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:270,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:274,1
    - Dst: exp_mail_it
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:280,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - oc
    - now
    - ttl
    - grace
    - keep
    argTypes:
    - struct objcore*
    - vtim_real
    - vtim_dur
    - vtim_dur
    - vtim_dur
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 283
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 283
    functionName: EXP_Rearm
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - exp_mail_it
    - VSL
    - EXP_WHEN
    - assert
    - isnan
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: "void EXP_Rearm(struct objcore *oc, vtim_real now,\n    vtim_dur ttl,
      vtim_dur grace, vtim_dur keep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:293,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:294,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:295,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:297,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:302,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:303,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:305,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:306,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:307,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:308,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:309,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:309,1
    - Dst: EXP_Ttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:309,1
    - Dst: ObjSendEvent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:311,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:312,1
    - Dst: EXP_WHEN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:317,1
    - Dst: ObjSendEvent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:318,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:331,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:332,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:335,1
    - Dst: VBH_reorder
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:337,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - ep
    - oc
    - flags
    - now
    argTypes:
    - struct exp_priv*
    - struct objcore*
    - unsigned
    - vtim_real
    assertStmts:
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->timer_idx != VBH_NOIDX)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->timer_idx != VBH_NOIDX)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->timer_idx != VBH_NOIDX)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->timer_idx != VBH_NOIDX)
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->refcnt > 0)
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->timer_idx == VBH_NOIDX)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->timer_idx == VBH_NOIDX)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 341
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 341
    functionName: exp_inbox
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - ObjGetXID
    - VBH_delete
    - CHECK_OBJ_NOTNULL
    - ObjSendEvent
    - HSH_DerefObjCore
    - VBH_reorder
    - EXP_WHEN
    - AZ
    - assert
    - WRONG
    - EXP_Ttl
    - VXID
    - VSLb
    - VBH_insert
    linkageType: ''
    returnType: void
    signature: void exp_inbox(struct exp_priv *ep, struct objcore *oc, unsigned flags,
      vtim_real now)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:352,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:354,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:357,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:360,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:368,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:375,1
    - Dst: HSH_Kill
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:378,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:381,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:382,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:383,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:385,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:386,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:387,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:387,1
    - Dst: EXP_Ttl
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:387,1
    - Dst: ObjSendEvent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:389,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - ep
    - now
    argTypes:
    - struct exp_priv*
    - vtim_real
    assertStmts:
    - condition: (oc->timer_idx != VBH_NOIDX)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->timer_idx == VBH_NOIDX)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 393
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 393
    functionName: exp_expire
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - VBH_root
    - Lck_Unlock
    - ObjGetXID
    - CHECK_OBJ_NOTNULL
    - VBH_delete
    - ObjSendEvent
    - HSH_DerefObjCore
    - EXP_Ttl
    - assert
    - Lck_Lock
    - HSH_Kill
    - VXID
    - VSLb
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real exp_expire(struct exp_priv *ep, vtim_real now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:406,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: object_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void object_cmp(void *priv, const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - p
    - u
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: object_update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void object_update(void *priv, void *p, unsigned u)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:429,1
    - Dst: VSL_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:431,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:432,1
    - Dst: VBH_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:434,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:435,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:438,1
    - Dst: VSTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:439,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:440,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:442,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:443,1
    - Dst: VSTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:444,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:453,1
    - Dst: Pool_Sumstat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:454,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:455,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:457,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:459,1
    - Dst: exp_inbox
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:462,1
    - Dst: exp_expire
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:464,1
    - Dst: VSL_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (oc->refcnt >= 1)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    - condition: (oc->exp_flags & OC_EF_POSTED)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    constantsTouched: []
    func_position:
      end: 469
      start: 422
    functionDepth: 4
    functionLinenumber: 422
    functionLinenumberEnd: 469
    functionName: exp_thread
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - VSL_Free
    - VSL_Alloc
    - Lck_CondWaitUntil
    - AN
    - Lck_Unlock
    - VBH_new
    - VTIM_real
    - exp_expire
    - VSTAILQ_FIRST
    - VSL_Flush
    - exp_inbox
    - AZ
    - CAST_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - CHECK_OBJ_ORNULL
    - Pool_Sumstat
    - VSTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void exp_thread(struct worker *wrk, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:479,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:480,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:482,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:483,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:483,1
    - Dst: VSTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:484,1
    - Dst: WRK_BgThread
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: EXP_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - AN
    - WRK_BgThread
    - VSTAILQ_INIT
    - PTOK
    - pthread_cond_init
    - ALLOC_OBJ
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void EXP_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:496,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:498,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:498,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:499,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:501,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:502,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:502,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:503,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 507
    functionName: EXP_Shutdown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - memset
    - AZ
    - PTOK
    - Lck_Lock
    - pthread_join
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void EXP_Shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:48,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rep
    - re
    argTypes:
    - vre_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: VPI_re_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c
    functionUses: 0
    functionsReached:
    - AN
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: void VPI_re_init(vre_t **rep, const char *re)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rep
    argTypes:
    - vre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: VPI_re_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c
    functionUses: 0
    functionsReached:
    - VRE_free
    linkageType: ''
    returnType: void
    signature: void VPI_re_fini(vre_t *rep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:70,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:71,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:71,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:72,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:72,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:73,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:73,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:74,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pfx
    - res
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (res < VRE_ERROR_NOMATCH)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: re_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - VSB_finish
    - AZ
    - assert
    - VRT_fail
    - VRE_error
    linkageType: ''
    returnType: void
    signature: void re_fail(VRT_CTX, const char *pfx, int res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:83,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:86,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:87,1
    - Dst: re_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - re
    argTypes:
    - char*
    - VCL_REGEX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: VRT_re_match
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c
    functionUses: 0
    functionsReached:
    - VRE_match
    - AN
    - CHECK_OBJ_NOTNULL
    - re_fail
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_re_match(VRT_CTX, const char *s, VCL_REGEX re)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:103,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:104,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:110,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:111,1
    - Dst: VRE_sub
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:112,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:113,1
    - Dst: re_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:116,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:118,1
    - Dst: WS_Reset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - all
    - str
    - re
    - sub
    argTypes:
    - int
    - VCL_STRING
    - VCL_REGEX
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: VRT_regsub
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c
    functionUses: 0
    functionsReached:
    - AN
    - WS_Snapshot
    - CHECK_OBJ_NOTNULL
    - VRE_sub
    - re_fail
    - VRT_fail
    - WS_Reset
    - WS_VSB_new
    - WS_VSB_finish
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_regsub(VRT_CTX, int all, VCL_STRING str, VCL_REGEX re,
      VCL_STRING sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vep
    - p
    argTypes:
    - struct vep_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: vep_error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vep_error(const struct vep_state *vep, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vep
    - p
    argTypes:
    - struct vep_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: vep_warn
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vep_warn(const struct vep_state *vep, const char *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:230,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:232,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - vep
    - b
    - e
    argTypes:
    - struct vep_state*
    - char*
    - char*
    assertStmts:
    - condition: (strlen(vm->match) <= sizeof (vep->tag))
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: vep_match
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - strlen
    linkageType: ''
    returnType: struct vep_match
    signature: 'struct vep_match *

      vep_match(const struct vep_state *vep, const char *b, const char *e)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:254,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:258,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:259,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:262,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:263,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:263,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:264,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:267,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:268,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:268,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - vep
    - l
    - m8
    - m16
    - m64
    argTypes:
    - struct vep_state*
    - ssize_t
    - int
    - int
    - int
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: ((ssize_t)buf[1] == l)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: ((ssize_t)vbe16dec(buf + 1) == l)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: ((ssize_t)vbe64dec(buf + 1) == l)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 271
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 271
    functionName: vep_emit_len
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - vbe16enc
    - vbe64enc
    - vbe64dec
    - assert
    - vbe16dec
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void vep_emit_len(const struct vep_state *vep, ssize_t l, int m8, int
      m16, int m64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vep_emit_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vep
    - l
    argTypes:
    - struct vep_state*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: vep_emit_skip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - vep_emit_len
    linkageType: ''
    returnType: void
    signature: void vep_emit_skip(const struct vep_state *vep, ssize_t l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vep_emit_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:285,1
    - Dst: vep_emit_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:287,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:288,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vep
    - l
    - l_crc
    argTypes:
    - struct vep_state*
    - ssize_t
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: vep_emit_verbatim
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - vbe32enc
    - vep_emit_len
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void vep_emit_verbatim(const struct vep_state *vep, ssize_t l, ssize_t
      l_crc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:297,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:300,1
    - Dst: vep_emit_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:302,1
    - Dst: vep_emit_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:304,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - vep
    - l
    - mark
    argTypes:
    - struct vep_state*
    - ssize_t
    - enum vep_mark
    assertStmts:
    - condition: (l >= 0)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: (mark == SKIP || mark == VERBATIM)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: vep_emit_common
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - assert
    - vep_emit_skip
    - crc32
    - vep_emit_verbatim
    linkageType: ''
    returnType: void
    signature: void vep_emit_common(struct vep_state *vep, ssize_t l, enum vep_mark
      mark)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:320,1
    - Dst: struct vep_state*::cb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:332,1
    - Dst: vep_emit_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:334,1
    - Dst: struct vep_state*::cb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:341,1
    - Dst: crc32_combine
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:347,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:351,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:357,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:359,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:360,1
    - Dst: struct vep_state*::cb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - vep
    - p
    - mark
    argTypes:
    - struct vep_state*
    - char*
    - enum vep_mark
    assertStmts:
    - condition: (mark == SKIP || mark == VERBATIM)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: (l >= 0)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 367
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 367
    functionName: vep_mark_common
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - AN
    - crc32_combine
    - vep_emit_common
    - crc32
    - assert
    - struct vep_state*::cb
    linkageType: ''
    returnType: void
    signature: void vep_mark_common(struct vep_state *vep, const char *p, enum vep_mark
      mark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vep_mark_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vep
    - p
    argTypes:
    - struct vep_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: vep_mark_verbatim
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - vep_mark_common
    linkageType: ''
    returnType: void
    signature: void vep_mark_verbatim(struct vep_state *vep, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vep_mark_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vep
    - p
    argTypes:
    - struct vep_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 4
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: vep_mark_skip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - vep_mark_common
    linkageType: ''
    returnType: void
    signature: void vep_mark_skip(struct vep_state *vep, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:390,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:392,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - vep
    - p
    argTypes:
    - struct vep_state*
    - char*
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: vep_mark_pending
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - crc32
    linkageType: ''
    returnType: void
    signature: void vep_mark_pending(struct vep_state *vep, const char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:406,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:407,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vep
    - what
    argTypes:
    - struct vep_state*
    - enum dowhat
    assertStmts:
    - condition: (what == DO_TAG)
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: vep_do_comment
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - assert
    - vep_error
    - Debug
    linkageType: ''
    returnType: void
    signature: void vep_do_comment(struct vep_state *vep, enum dowhat what)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:418,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:420,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:422,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:424,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - vep
    - what
    argTypes:
    - struct vep_state*
    - enum dowhat
    assertStmts:
    - condition: (what == DO_TAG)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: vep_do_remove
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - assert
    - vep_error
    - Debug
    linkageType: ''
    returnType: void
    signature: void vep_do_remove(struct vep_state *vep, enum dowhat what)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:440,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:444,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:445,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:448,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:449,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:452,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:456,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - vep
    argTypes:
    - struct vep_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 463
    functionName: include_attr_src
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - VSB_data
    - vct_islws
    - VSB_destroy
    - vep_error
    linkageType: ''
    returnType: void
    signature: void include_attr_src(struct vep_state *vep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:469,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:469,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vep
    argTypes:
    - struct vep_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: include_attr_onerror
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - VSB_data
    - VSB_destroy
    - strcmp
    linkageType: ''
    returnType: void
    signature: void include_attr_onerror(struct vep_state *vep)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:480,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:482,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:483,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:484,1
    - Dst: include_attr_src
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:485,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:488,1
    - Dst: include_attr_onerror
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:489,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:492,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:494,1
    - Dst: vep_warn
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:496,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:498,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:511,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:513,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:514,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:519,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:521,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:523,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:526,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:527,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:530,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:531,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:532,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:533,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:534,1
    - Dst: vep_warn
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:535,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:538,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:539,1
    - Dst: vep_warn
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:542,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:545,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:547,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:550,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:551,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:554,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:555,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:557,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:558,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:560,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:561,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:570,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:572,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:574,1
    - Dst: R
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:583,1
    - Dst: R
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:584,1
    - Dst: R
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:585,1
    - Dst: R
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:586,1
    - Dst: R
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:587,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:589,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:592,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:593,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 90
    argCount: 2
    argNames:
    - vep
    - what
    argTypes:
    - struct vep_state*
    - enum dowhat
    assertStmts:
    - condition: (what == DO_TAG)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: (vep->o_wait == 0 || vep->last_mark == SKIP)
      pos:
        line_end: 510
        line_start: 510
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 595
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 595
    functionName: vep_do_include
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - include_attr_src
    - vep_warn
    - vep_error
    - VSB_printf
    - include_attr_onerror
    - strcmp
    - assert
    - VSB_len
    - AZ
    - FEATURE
    - WRONG
    - R
    - strchr
    - Debug
    - VSB_data
    - memcmp
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vep_do_include(struct vep_state *vep, enum dowhat what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - f
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 583
    functionName: R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(w,f,r)
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:615,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:616,1
    - Dst: vep_mark_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:627,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:629,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:638,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:639,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:644,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:651,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:658,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:659,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:668,1
    - Dst: vep_mark_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:670,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:675,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:682,1
    - Dst: vep_mark_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:695,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:702,1
    - Dst: vep_mark_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:715,1
    - Dst: vep_mark_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:735,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:746,1
    - Dst: vep_mark_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:751,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:752,1
    - Dst: vep_mark_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:756,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:774,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:779,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:793,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:798,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:803,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:816,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:821,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:829,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:839,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:850,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:851,1
    - Dst: struct vep_state*::dostuff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:852,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:856,1
    - Dst: vct_isxmlnamestart
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:860,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:863,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:872,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:876,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:884,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:887,1
    - Dst: vct_isxmlname
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:894,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:903,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:906,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:911,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:912,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:915,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:919,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:923,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:930,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:932,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:936,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:941,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:941,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:942,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:949,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:949,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:950,1
    - Dst: struct vep_state*::dostuff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:951,1
    - Dst: vep_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:964,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:968,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:973,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:974,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:984,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:988,1
    - Dst: vep_match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:989,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:991,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1001,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1006,1
    - Dst: vep_mark_verbatim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1026,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1028,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1029,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1040,1
    - Dst: vep_mark_skip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1042,1
    - Dst: vep_mark_pending
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1044,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 356
    argCount: 3
    argNames:
    - vep
    - p
    - l
    argTypes:
    - struct vep_state*
    - char*
    - size_t
    assertStmts:
    - condition: (p == e)
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: (p >= vep->ver_p)
      pos:
        line_end: 643
        line_start: 643
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: (*p == '<')
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: (l > 0)
      pos:
        line_end: 615
        line_start: 615
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - condition: (p + sizeof(vep->tag) >= e)
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    constantsTouched: []
    func_position:
      end: 1045
      start: 608
    functionDepth: 5
    functionLinenumber: 608
    functionLinenumberEnd: 1045
    functionName: VEP_Parse
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 3
    functionsReached:
    - vep_error
    - VSB_finish
    - vct_issp
    - vep_mark_skip
    - struct vep_state*::dostuff
    - strlen
    - VSLb
    - AN
    - VSB_putc
    - memcpy
    - vep_mark_common
    - vep_mark_pending
    - vct_isxmlname
    - WRONG
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VSB_new_auto
    - vct_isxmlnamestart
    - vep_mark_verbatim
    - vep_match
    - Debug
    - FEATURE
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void VEP_Parse(struct vep_state *vep, const char *p, size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1055,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - vc
    - priv
    - l
    - flg
    argTypes:
    - struct vfp_ctx*
    - void*
    - ssize_t
    - enum vgz_flag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1061
    functionName: vep_default_cb
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vep_default_cb(struct vfp_ctx *vc, void *priv, ssize_t l, enum
      vgz_flag flg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1072,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1073,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1074,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1076,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1081,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1084,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1085,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1090,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1099,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - vc
    - req
    - cb
    - cb_priv
    argTypes:
    - struct vfp_ctx*
    - struct http*
    - vep_callback_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1104
    functionName: VEP_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 3
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - WS_Alloc
    - crc32
    - VSB_new_auto
    - VSLb
    linkageType: ''
    returnType: struct vep_state
    signature: "struct vep_state *\nVEP_Init(struct vfp_ctx *vc, const struct http
      *req, vep_callback_t *cb,\n    void *cb_priv)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1114,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1117,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1119,1
    - Dst: vep_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1126,1
    - Dst: vep_mark_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1130,1
    - Dst: struct vep_state*::cb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1132,1
    - Dst: vep_emit_common
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1133,1
    - Dst: struct vep_state*::cb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1136,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1138,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1138,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1139,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c:1142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - vep
    argTypes:
    - struct vep_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1144
    functionName: VEP_Finish
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vep_error
    - vep_mark_common
    - VSB_finish
    - vep_emit_common
    - AZ
    - VSB_len
    - struct vep_state*::cb
    - VSB_destroy
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VEP_Finish(struct vep_state *vep)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:66,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: cache_vrnd_lock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - PTOK
    linkageType: ''
    returnType: void
    signature: void cache_vrnd_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:72,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: cache_vrnd_unlock
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void cache_vrnd_unlock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:90,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bo
    argTypes:
    - struct busyobj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: THR_SetBusyobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 2
    functionsReached:
    - PTOK
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: void THR_SetBusyobj(const struct busyobj *bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: THR_GetBusyobj
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 1
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: struct busyobj
    signature: 'struct busyobj *

      THR_GetBusyobj(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:104,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: THR_SetRequest
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 3
    functionsReached:
    - PTOK
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: void THR_SetRequest(const struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: THR_GetRequest
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 2
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: struct req
    signature: 'struct req *

      THR_GetRequest(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:118,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: THR_SetWorker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 1
    functionsReached:
    - PTOK
    - pthread_setspecific
    linkageType: ''
    returnType: void
    signature: void THR_SetWorker(const struct worker *wrk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: THR_GetWorker
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 2
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: struct worker
    signature: 'struct worker *

      THR_GetWorker(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:144,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:145,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:150,1
    - Dst: pthread_setname_np
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:150,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 151
    functionName: thr_setname_generic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - bprintf
    - PTOK
    - pthread_setname_np
    - strlen
    linkageType: ''
    returnType: void
    signature: void thr_setname_generic(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:158,1
    - Dst: pthread_setspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:158,1
    - Dst: pthread_setname_np
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:161,1
    - Dst: pthread_setname_np
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:163,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:163,1
    - Dst: thr_setname_generic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:165,1
    - Dst: pthread_set_name_np
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:168,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: THR_SetName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 8
    functionsReached:
    - pthread_self
    - thr_setname_generic
    - PTOK
    - pthread_setname_np
    - pthread_setspecific
    - pthread_set_name_np
    linkageType: ''
    returnType: void
    signature: void THR_SetName(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getspecific
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: THR_GetName
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 1
    functionsReached:
    - pthread_getspecific
    linkageType: ''
    returnType: char
    signature: 'char *

      THR_GetName(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:188,1
    - Dst: sigaltstack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: THR_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 8
    functionsReached:
    - sigaltstack
    - AZ
    linkageType: ''
    returnType: void
    signature: void THR_Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:209,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:210,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:212,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:214,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:220,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:223,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - wrk
    - mask
    argTypes:
    - struct worker*
    - uint64_t
    assertStmts:
    - condition: (v->next > 0)
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    - condition: (v->next < VSL_CLIENTMARKER)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    constantsTouched: []
    func_position:
      end: 228
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 228
    functionName: VXID_Get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 6
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: vxid_t
    signature: vxid_t VXID_Get(const struct worker *wrk, uint64_t mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:243,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:246,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: cli_debug_xid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - strtoul
    - VCLI_Out
    - strtoull
    linkageType: ''
    returnType: void
    signature: void cli_debug_xid(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 263
    functionName: cli_debug_shutdown_delay
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - VNUM_duration
    linkageType: ''
    returnType: void
    signature: void cli_debug_shutdown_delay(struct cli *cli, const char * const *av,
      void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:277,1
    - Dst: VRND_SeedTestable
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: cli_debug_srandom
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - strtoul
    - VRND_SeedTestable
    linkageType: ''
    returnType: void
    signature: void cli_debug_srandom(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:296,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:297,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: child_malloc_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - fprintf
    - WRONG
    - VSL
    linkageType: ''
    returnType: void
    signature: void child_malloc_fail(void *p, const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:316,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:318,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:319,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:320,1
    - Dst: THR_GetRequest
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:323,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:326,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:327,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:338,1
    - Dst: strsignal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:339,1
    - Dst: VAS_Fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:342,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - s
    - si
    - c
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 347
    functionName: child_signal_handler
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - bprintf
    - VAS_Fail
    - memset
    - THR_GetRequest
    - TRUST_ME
    - strsignal
    - sigaction
    linkageType: ''
    returnType: void
    signature: void child_signal_handler(int s, siginfo_t *si, void *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:358,1
    - Dst: vmax_t
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:360,1
    - Dst: mmap
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:361,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:364,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:365,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:370,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:374,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:375,1
    - Dst: sigaction
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - altstksz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: child_sigmagic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - THR_Init
    - AN
    - memset
    - mmap
    - vmax_t
    - sigaction
    linkageType: ''
    returnType: void
    signature: void child_sigmagic(size_t altstksz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:383,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:384,1
    - Dst: pthread_kill
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:384,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: cli_quit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_kill
    - WRONG
    - IS_CLI
    linkageType: ''
    returnType: void
    signature: void cli_quit(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - 'no'
    argTypes:
    - uint8_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 403
    functionName: bit_set
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bit_set(volatile uint8_t *p, unsigned no)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCA_Start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: ccf_child_start
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - VCA_Start
    linkageType: ''
    returnType: void
    signature: void ccf_child_start(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:431,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:432,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:434,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:435,1
    - Dst: VSCARAB_ADD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:438,1
    - Dst: VSCARAB_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:441,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - scarab
    argTypes:
    - struct vscarab*
    assertStmts:
    - condition: (sum == 42)
      pos:
        line_end: 443
        line_start: 443
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    constantsTouched: []
    func_position:
      end: 445
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 445
    functionName: t_vscarab1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - AN
    - VSCARAB_GET
    - VSCARAB_FOREACH
    - AZ
    - assert
    - VSCARAB_ADD
    - VSCARAB_CHECK_NOTNULL
    linkageType: ''
    returnType: void
    signature: void t_vscarab1(struct vscarab *scarab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSCARAB_SIZE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:450,1
    - Dst: VSCARAB_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:452,1
    - Dst: t_vscarab1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:453,1
    - Dst: VSCARAB_LOCAL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:457,1
    - Dst: t_vscarab1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:458,1
    - Dst: VSCARAB_ALLOC
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:463,1
    - Dst: t_vscarab1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:464,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 466
    functionName: t_vscarab
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 0
    functionsReached:
    - VSCARAB_INIT
    - VSCARAB_ALLOC
    - t_vscarab1
    - VSCARAB_LOCAL
    - VSCARAB_SIZE
    - free
    linkageType: ''
    returnType: void
    signature: void t_vscarab(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: t_vscarab
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:471,1
    - Dst: child_sigmagic
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:474,1
    - Dst: signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:475,1
    - Dst: signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:476,1
    - Dst: signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:477,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:484,1
    - Dst: pthread_mutexattr_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:484,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:485,1
    - Dst: pthread_mutexattr_settype
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:485,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:489,1
    - Dst: pthread_key_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:489,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:490,1
    - Dst: pthread_key_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:490,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:491,1
    - Dst: pthread_key_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:491,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:492,1
    - Dst: pthread_key_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:492,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:493,1
    - Dst: pthread_key_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:493,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:494,1
    - Dst: pthread_key_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:494,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:496,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:498,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:498,1
    - Dst: VSM_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:502,1
    - Dst: LCK_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:504,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:506,1
    - Dst: CLI_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:508,1
    - Dst: PAN_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:509,1
    - Dst: VFP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:510,1
    - Dst: ObjInit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:512,1
    - Dst: WRK_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:514,1
    - Dst: VCL_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:516,1
    - Dst: VCL_VRT_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:517,1
    - Dst: HTTP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:519,1
    - Dst: VBO_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:521,1
    - Dst: VCP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:522,1
    - Dst: VBP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:523,1
    - Dst: VDI_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:524,1
    - Dst: VBE_InitCfg
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:525,1
    - Dst: Pool_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:526,1
    - Dst: V1P_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:527,1
    - Dst: V2D_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:528,1
    - Dst: EXP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:530,1
    - Dst: HSH_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:531,1
    - Dst: BAN_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:532,1
    - Dst: VCA_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:534,1
    - Dst: STV_open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:536,1
    - Dst: VMOD_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:538,1
    - Dst: BAN_Compile
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:540,1
    - Dst: VRND_SeedAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:542,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:545,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:546,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:550,1
    - Dst: SMP_Ready
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:551,1
    - Dst: CLI_Run
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:554,1
    - Dst: bit_set
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:556,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:559,1
    - Dst: VCA_Shutdown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:561,1
    - Dst: BAN_Shutdown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:563,1
    - Dst: STV_warn
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:564,1
    - Dst: VCL_Shutdown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:565,1
    - Dst: EXP_Shutdown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:566,1
    - Dst: STV_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:567,1
    - Dst: getrusage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:570,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:571,1
    - Dst: tv_vtim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:572,1
    - Dst: tv_vtim
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:573,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_main.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 2
    argNames:
    - sigmagic
    - altstksz
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 468
    functionDepth: 7
    functionLinenumber: 468
    functionLinenumberEnd: 576
    functionName: child_main
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
    functionUses: 1
    functionsReached:
    - VBP_Init
    - VCA_Init
    - EXP_Shutdown
    - VCL_Init
    - STV_close
    - pthread_mutexattr_settype
    - THR_SetName
    - CLI_Init
    - ObjInit
    - WRK_Init
    - BAN_Shutdown
    - VCP_Init
    - pthread_mutex_init
    - Lck_New
    - signal
    - STV_open
    - SMP_Ready
    - EXP_Init
    - CLI_Run
    - VBO_Init
    - V2D_Init
    - printf
    - VTIM_sleep
    - VBE_InitCfg
    - PAN_Init
    - VDI_Init
    - pthread_key_create
    - getrusage
    - VMOD_Init
    - VFP_Init
    - bit_set
    - PTOK
    - VSM_Init
    - pthread_mutexattr_init
    - VRND_SeedAll
    - LCK_Init
    - child_sigmagic
    - HTTP_Init
    - STV_warn
    - VCL_VRT_Init
    - VCL_Shutdown
    - Pool_Init
    - BAN_Init
    - tv_vtim
    - V1P_Init
    - CLI_AddFuncs
    - t_vscarab
    - HSH_Init
    - BAN_Compile
    - VCA_Shutdown
    - FEATURE
    linkageType: ''
    returnType: void
    signature: void child_main(int sigmagic, size_t altstksz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:81,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:83,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - mpl
    argTypes:
    - struct mempool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: mpl_alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    functionUses: 0
    functionsReached:
    - AN
    - calloc
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct memitem
    signature: 'struct memitem *

      mpl_alloc(const struct mempool *mpl)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:107,1
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:108,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:109,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:112,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:114,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:118,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:119,1
    - Dst: mpl_alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:123,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:129,1
    - Dst: Lck_Trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:141,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:145,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:148,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:151,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:156,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:158,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:163,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:164,1
    - Dst: VSC_mempool_Destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:166,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:167,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:168,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:169,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:175,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:178,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:184,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:185,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:188,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:192,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:194,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:195,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:200,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:201,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:205,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:215,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:218,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:219,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 103
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 223
    functionName: mpl_guard
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - VTIM_real
    - Lck_Delete
    - THR_SetName
    - Lck_Trylock
    - mpl_alloc
    - FREE_OBJ
    - VTAILQ_EMPTY
    - VTAILQ_LAST
    - CAST_OBJ_NOTNULL
    - VTAILQ_REMOVE
    - VTIM_sleep
    - THR_Init
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - AZ
    - VSC_mempool_Destroy
    - Lck_Unlock
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: 'void *

      mpl_guard(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:235,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:236,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:237,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:240,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:241,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:242,1
    - Dst: VSC_mempool_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:244,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:245,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:246,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:246,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:247,1
    - Dst: pthread_detach
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - name
    - pp
    - cur_size
    argTypes:
    - char*
    - struct poolparam*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: MPL_New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    functionUses: 2
    functionsReached:
    - VTAILQ_INIT
    - AN
    - bprintf
    - VSC_mempool_New
    - PTOK
    - pthread_create
    - pthread_detach
    - ALLOC_OBJ
    - Lck_New
    linkageType: ''
    returnType: struct mempool
    signature: "struct mempool *\nMPL_New(const char *name,\n    volatile struct poolparam
      *pp, volatile unsigned *cur_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:261,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:262,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:263,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mpp
    argTypes:
    - struct mempool**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: MPL_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - Lck_Lock
    - AZ
    linkageType: ''
    returnType: void
    signature: void MPL_Destroy(struct mempool **mpp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:276,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:277,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:279,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:285,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:291,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:292,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:295,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:302,1
    - Dst: mpl_alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:305,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - mpl
    - size
    argTypes:
    - struct mempool*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 311
    functionName: MPL_Get
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    functionUses: 3
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - Lck_Unlock
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - Lck_Lock
    - VTAILQ_REMOVE
    - mpl_alloc
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: 'void *

      MPL_Get(struct mempool *mpl, unsigned *size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:318,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:319,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:322,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:323,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:325,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:332,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:336,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - mpl
    - item
    argTypes:
    - struct mempool*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 340
    functionName: MPL_Free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    functionUses: 3
    functionsReached:
    - Lck_Unlock
    - AN
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - memset
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void MPL_Free(struct mempool *mpl, void *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 348
    functionName: MPL_AssertSane
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void MPL_AssertSane(const void *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - struct req*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: ved_minimal_response
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - WRONG
    linkageType: ''
    returnType: void
    signature: void ved_minimal_response(struct req *req, uint16_t status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:100,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:101,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:102,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:104,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:104,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: ved_reembark
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - PTOK
    - Lck_Lock
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void ved_reembark(struct worker *wrk, struct req *req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:119,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:120,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:122,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:123,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:127,1
    - Dst: Req_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:135,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:136,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:138,1
    - Dst: IS_NO_VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:138,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:139,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:144,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:145,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:146,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:147,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:149,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:149,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:151,1
    - Dst: HTTP_Dup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:152,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:154,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:156,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:157,1
    - Dst: http_ForceField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:160,1
    - Dst: http_ForceField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:161,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:164,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:165,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:168,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:172,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:174,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:177,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:178,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:181,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:182,1
    - Dst: VCL_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:187,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:189,1
    - Dst: VCL_TaskEnter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:195,1
    - Dst: CNT_Embark
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:198,1
    - Dst: CNT_Request
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:200,1
    - Dst: DSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:203,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:205,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:206,1
    - Dst: Lck_CondWait
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:208,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:209,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:210,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:213,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:216,1
    - Dst: Req_Cleanup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:218,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:219,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 71
    argCount: 4
    argNames:
    - preq
    - src
    - host
    - ecx
    argTypes:
    - struct req*
    - char*
    - char*
    - struct ecx*
    assertStmts:
    - condition: (IS_NO_VXID(req->vsl->wid))
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (s == REQ_FSM_DISEMBARK)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (req->req_step == R_STP_TRANSPORT)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (req->top == preq->top)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    constantsTouched: []
    func_position:
      end: 220
      start: 110
    functionDepth: 9
    functionLinenumber: 110
    functionLinenumberEnd: 220
    functionName: ved_include
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - CNT_Embark
    - Req_New
    - IS_NO_VXID
    - Lck_CondWait
    - HTTP_Setup
    - VSLb
    - VCL_TaskEnter
    - AN
    - Req_Cleanup
    - http_Unset
    - Lck_Lock
    - VSLb_ts_req
    - VXID_Get
    - http_ForceHeader
    - DSL
    - http_ForceField
    - CNT_Request
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - VCL_Rel
    - VCL_Ref
    - Req_Release
    - AZ
    - assert
    - W_TIM_real
    - HTTP_Dup
    - THR_SetRequest
    - Lck_Unlock
    - http_SetHeader
    - VXID
    linkageType: ''
    returnType: void
    signature: "void ved_include(struct req *preq, const char *src, const char *host,\n
      \   struct ecx *ecx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:240,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:244,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:248,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:250,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - vsl
    - pp
    argTypes:
    - struct vsl_log*
    - uint8_t**
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    constantsTouched: []
    func_position:
      end: 255
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 255
    functionName: ved_decode_len
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - vbe64dec
    - assert
    - WRONG
    - vbe16dec
    - VSLb
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t ved_decode_len(struct vsl_log *vsl, const uint8_t **pp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:265,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:266,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:267,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:268,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:269,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:270,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:271,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:273,1
    - Dst: ObjHasAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:274,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:278,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:283,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:284,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:285,1
    - Dst: RFC2616_Weaken_Etag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:288,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:294,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts:
    - condition: (sizeof gzip_hdr == 10)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (ctx->req->transport == &VED_transport)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    constantsTouched: []
    func_position:
      end: 301
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 301
    functionName: ved_vdp_esi_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    - RFC2616_Weaken_Etag
    - ObjHasAttr
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    - VSLb
    linkageType: ''
    returnType: void
    signature: void ved_vdp_esi_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:309,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: ved_vdp_esi_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void ved_vdp_esi_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:329,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:330,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:331,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:337,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:339,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:340,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:345,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:348,1
    - Dst: ved_decode_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:363,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:367,1
    - Dst: ved_decode_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:370,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:373,1
    - Dst: crc32_combine
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:375,1
    - Dst: ved_decode_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:384,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:387,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:392,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:396,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:397,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:399,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:400,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:401,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:405,1
    - Dst: ved_include
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:406,1
    - Dst: Debug
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:408,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:412,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:415,1
    - Dst: vle32enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:433,1
    - Dst: vle32enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:436,1
    - Dst: crc32_combine
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:441,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:445,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:457,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:465,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:475,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 124
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: "(*ecx->p == VEC_C1 ||\n\t\t\t\t\t    *ecx->p == VEC_C2 ||\n\t\t\t\t\t
        \   *ecx->p == VEC_C8)"
      pos:
        line_end: 368
        line_start: 366
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    constantsTouched: []
    func_position:
      end: 481
      start: 315
    functionDepth: 10
    functionLinenumber: 315
    functionLinenumberEnd: 481
    functionName: ved_vdp_esi_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - ved_include
    - AN
    - CHECK_OBJ_NOTNULL
    - crc32_combine
    - vle32enc
    - crc32
    - CAST_OBJ_NOTNULL
    - assert
    - vbe32dec
    - FEATURE
    - Debug
    - WRONG
    - ObjGetAttr
    - strchr
    - VDP_bytes
    - ved_decode_len
    - VSLb
    linkageType: ''
    returnType: void
    signature: "void ved_vdp_esi_bytes(struct vdp_ctx *vdc, enum vdp_action act, void
      **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ecx
    - act
    - ptr
    - len
    argTypes:
    - struct ecx*
    - enum vdp_action
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: ved_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - VDP_bytes
    linkageType: ''
    returnType: int
    signature: "int ved_bytes(struct ecx *ecx, enum vdp_action act,\n    const void
      *ptr, ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: ved_pretend_gzip_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ved_pretend_gzip_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:538,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:539,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:543,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:547,1
    - Dst: crc32
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:548,1
    - Dst: vle16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:557,1
    - Dst: vle16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:558,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:563,1
    - Dst: vle16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:568,1
    - Dst: vle16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:569,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:570,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:573,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - pv
    - l
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 580
    functionName: ved_pretend_gzip_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vle16enc
    - crc32
    - CAST_OBJ_NOTNULL
    - ved_bytes
    linkageType: ''
    returnType: void
    signature: "void ved_pretend_gzip_bytes(struct vdp_ctx *vdc, enum vdp_action act,
      void **priv,\n    const void *pv, ssize_t l)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:616,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:617,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:618,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:620,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:621,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:623,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:625,1
    - Dst: ObjCheckFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:625,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:627,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:628,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:629,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:630,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:631,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:632,1
    - Dst: ObjGetLen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:633,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:634,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:635,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:636,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:637,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:638,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts:
    - condition: (foo->last >= foo->start)
      pos:
        line_end: 636
        line_start: 636
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (foo->last > 0 && foo->last < foo->olen * 8)
      pos:
        line_end: 634
        line_start: 634
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (foo->last < foo->stop)
      pos:
        line_end: 637
        line_start: 637
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (l == 32)
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (foo->start > 0 && foo->start < foo->olen * 8)
      pos:
        line_end: 633
        line_start: 633
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (foo->stop > 0 && foo->stop < foo->olen * 8)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    constantsTouched: []
    func_position:
      end: 643
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 643
    functionName: ved_gzgz_init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vbe64dec
    - memset
    - CAST_OBJ_NOTNULL
    - assert
    - AZ
    - ObjGetAttr
    - ObjGetLen
    - ObjCheckFlag
    linkageType: ''
    returnType: void
    signature: void ved_gzgz_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:665,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:683,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:684,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:695,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:705,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:706,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:766,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:768,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:774,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:778,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:780,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:781,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:782,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:783,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:788,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 111
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts:
    - condition: (dl >= 0)
      pos:
        line_end: 773
        line_start: 773
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (dl <= 8)
      pos:
        line_end: 777
        line_start: 777
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (l <= 8)
      pos:
        line_end: 780
        line_start: 780
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (l + dl <= 8)
      pos:
        line_end: 781
        line_start: 781
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (l >= 0)
      pos:
        line_end: 779
        line_start: 779
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - condition: (len == 0)
      pos:
        line_end: 787
        line_start: 787
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    constantsTouched: []
    func_position:
      end: 790
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 790
    functionName: ved_gzgz_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - vmin
    - memcpy
    - CAST_OBJ_NOTNULL
    - assert
    - ved_bytes
    - WRONG
    linkageType: ''
    returnType: void
    signature: "void ved_gzgz_bytes(struct vdp_ctx *vdc, enum vdp_action act, void
      **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:800,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:808,1
    - Dst: vle32dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:810,1
    - Dst: vle32dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:811,1
    - Dst: crc32_combine
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 816
    functionName: ved_gzgz_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - crc32_combine
    - ved_bytes
    - TAKE_OBJ_NOTNULL
    - vle32dec
    linkageType: ''
    returnType: void
    signature: void ved_gzgz_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 835
    functionName: ved_vdp_fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ved_vdp_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:844,1
    - Dst: ved_bytes
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 846
    functionName: ved_vdp_bytes
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - ved_bytes
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void ved_vdp_bytes(struct vdp_ctx *vdc, enum vdp_action act, void
      **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VDP_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - req
    - error
    argTypes:
    - struct req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 863
    functionName: ved_close
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - VDP_Close
    linkageType: ''
    returnType: void
    signature: void ved_close(struct req *req, int error)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:877,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:878,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:879,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:881,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:885,1
    - Dst: ved_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:887,1
    - Dst: ved_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:892,1
    - Dst: ObjGetLen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:896,1
    - Dst: ved_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:897,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:901,1
    - Dst: http_coding_eq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:902,1
    - Dst: ObjCheckFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:904,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:906,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:907,1
    - Dst: ObjWaitState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:914,1
    - Dst: ved_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:921,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:925,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:928,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:931,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:934,1
    - Dst: VDP_DeliverObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:938,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:940,1
    - Dst: ved_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c:947,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - req
    - wantbody
    argTypes:
    - struct req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 868
    functionDepth: 5
    functionLinenumber: 868
    functionLinenumberEnd: 949
    functionName: ved_deliver
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    functionUses: 0
    functionsReached:
    - VDP_DeliverObj
    - ved_close
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - INIT_OBJ
    - VCL_Req2Ctx
    - http_coding_eq
    - ObjWaitState
    - VDP_Push
    - CAST_OBJ_NOTNULL
    - ObjCheckFlag
    - FEATURE
    - CHECK_OBJ_ORNULL
    - ObjGetLen
    - VSLb
    linkageType: ''
    returnType: void
    signature: void ved_deliver(struct req *req, int wantbody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:67,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:68,1
    - Dst: VCLS_AddFunc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:69,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct cli_proto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: CLI_AddFuncs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c
    functionUses: 10
    functionsReached:
    - VCLS_AddFunc
    - Lck_Unlock
    - Lck_Lock
    - AZ
    linkageType: ''
    returnType: void
    signature: void CLI_AddFuncs(struct cli_proto *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:77,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:78,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:78,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:79,1
    - Dst: VCL_Poll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:80,1
    - Dst: VCP_RelPoll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 8
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: cli_cb_before
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c
    functionUses: 0
    functionsReached:
    - VCL_Poll
    - ASSERT_CLI
    - VSL
    - Lck_Lock
    - VCP_RelPoll
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void cli_cb_before(const struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:88,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:89,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:90,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:91,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: cli_cb_after
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - ASSERT_CLI
    - VSL
    - VSB_len
    - VSB_data
    linkageType: ''
    returnType: void
    signature: void cli_cb_after(const struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:103,1
    - Dst: VCLI_WriteResult
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:103,1
    - Dst: VCLS_AddFd
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:105,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:107,1
    - Dst: VCLS_Poll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:111,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: CLI_Run
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c
    functionUses: 1
    functionsReached:
    - VCLI_WriteResult
    - AN
    - VCLS_Poll
    - VSL
    - AZ
    - VCLS_AddFd
    linkageType: ''
    returnType: void
    signature: void CLI_Run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:132,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:133,1
    - Dst: VCLS_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:135,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:136,1
    - Dst: VCLS_SetLimit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:137,1
    - Dst: VCLS_SetHooks
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:138,1
    - Dst: CLI_AddFuncs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: CLI_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c
    functionUses: 1
    functionsReached:
    - pthread_self
    - AN
    - VCLS_New
    - CLI_AddFuncs
    - VCLS_SetHooks
    - Lck_New
    - VCLS_SetLimit
    linkageType: ''
    returnType: void
    signature: void CLI_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tmo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: VRT_TMO
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_TMO(tmo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:64,1
    - Dst: VRT_StrandsWS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:66,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:68,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:69,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:73,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - hp
    - fld
    - err
    - str
    - s
    argTypes:
    - struct http*
    - int
    - char*
    - char*
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: vrt_do_strands
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - VRT_StrandsWS
    - WS_MarkOverflow
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: "void vrt_do_strands(VRT_CTX, struct http *hp, int fld,\n    const
      char *err, const char *str, VCL_STRANDS s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - hdr
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: VRT_HDR_L
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_HDR_L(obj, hdr, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - hdr
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: VRT_HDR_R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_HDR_R(obj, hdr, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - hdr
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: VRT_HDR_LR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_HDR_LR(obj, hdr, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: VRT_STATUS_L
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_STATUS_L(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: VRT_STATUS_R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_STATUS_R(obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: beresp_filter_fixed
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    linkageType: ''
    returnType: int
    signature: int beresp_filter_fixed(VRT_CTX, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: VBERESPWF0
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBERESPWF0(ctx, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: VBERESPWF1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBERESPWF1(ctx, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - field
    - ','
    - str
    - ','
    - fltchk
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: VBERESPW1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBERESPW1(field, str, fltchk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: VBERESPRF0
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBERESPRF0(ctx, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: VBERESPRF1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBERESPRF1(ctx, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - field
    - ','
    - str
    - ','
    - fltchk
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: VBERESPR1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBERESPR1(field, str, fltchk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: BERESP_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BERESP_FLAG(l, r, w, f, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - field
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: VBEREQR1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBEREQR1(field, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: BEREQ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEREQ_FLAG(l, r, w, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:238,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: VRT_r_bereq_uncacheable
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_bereq_uncacheable(VRT_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:248,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:249,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:250,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:253,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 263
    functionName: VRT_l_beresp_uncacheable
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_beresp_uncacheable(VRT_CTX, VCL_BOOL a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:268,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: VRT_r_beresp_uncacheable
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_beresp_uncacheable(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:276,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:277,1
    - Dst: VRT_trace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: VRT_l_req_trace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_trace
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_req_trace(VRT_CTX, VCL_BOOL a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:284,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:285,1
    - Dst: VRT_trace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: VRT_l_bereq_trace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_trace
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_bereq_trace(VRT_CTX, VCL_BOOL a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:297,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:298,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: VRT_r_beresp_transit_buffer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BYTES
    signature: VCL_BYTES VRT_r_beresp_transit_buffer(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:311,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:312,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - VCL_BYTES
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: VRT_l_beresp_transit_buffer
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_beresp_transit_buffer(VRT_CTX, VCL_BYTES value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:327,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:329,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:332,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 338
    functionName: VRT_r_client_identity
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    - SES_Get_String_Attr
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_r_client_identity(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:345,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:346,1
    - Dst: VRT_StrandsWS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:347,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:349,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - str
    - s
    argTypes:
    - char*
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 354
    functionName: VRT_l_client_identity
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_StrandsWS
    - WS_MarkOverflow
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_client_identity(VRT_CTX, const char *str, VCL_STRANDS
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - which
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 387
    functionName: BEREQ_TIMEOUT
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEREQ_TIMEOUT(prefix, which)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:400,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: VRT_r_beresp_backend_name
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_r_beresp_backend_name(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:417,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:418,1
    - Dst: VDI_GetIP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: VRT_r_beresp_backend_ip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VDI_GetIP
    linkageType: ''
    returnType: VCL_IP
    signature: VCL_IP VRT_r_beresp_backend_ip(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:427,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: VRT_r_req_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STEVEDORE
    signature: VCL_STEVEDORE VRT_r_req_storage(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:435,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stv
    argTypes:
    - VCL_STEVEDORE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: VRT_l_req_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_req_storage(VRT_CTX, VCL_STEVEDORE stv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:447,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:448,1
    - Dst: VRT_l_resp_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:451,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: VRT_r_resp_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    - VRT_l_resp_storage
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STEVEDORE
    signature: VCL_STEVEDORE VRT_r_resp_storage(VRT_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:463,1
    - Dst: Resp_l_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:466,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - stv
    argTypes:
    - VCL_STEVEDORE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: VRT_l_resp_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 1
    functionsReached:
    - Resp_l_storage
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_resp_storage(VRT_CTX, VCL_STEVEDORE stv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:475,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: VRT_r_beresp_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STEVEDORE
    signature: VCL_STEVEDORE VRT_r_beresp_storage(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:483,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stv
    argTypes:
    - VCL_STEVEDORE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: VRT_l_beresp_storage
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_beresp_storage(VRT_CTX, VCL_STEVEDORE stv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - obj
    - ','
    - which
    - ','
    - which_magic
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 555
    functionName: VRT_OC_VAR_R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_OC_VAR_R(obj, which, which_magic, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - elem
    - ','
    - type
    - ','
    - extra
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: REQ_VAR_L
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_VAR_L(nm, elem, type, extra)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nm
    - ','
    - elem
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 581
    functionName: REQ_VAR_R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_VAR_R(nm, elem, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nm
    - ','
    - elem
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 591
    functionName: REQ_VAR_U
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_VAR_U(nm, elem, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_l_req_max_age
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: VRT_l_req_ttl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_l_req_max_age
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_req_ttl(VRT_CTX, VCL_DURATION arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_r_req_max_age
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: VRT_r_req_ttl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_r_req_max_age
    linkageType: ''
    returnType: VCL_DURATION
    signature: VCL_DURATION VRT_r_req_ttl(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_u_req_max_age
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: VRT_u_req_ttl
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_u_req_max_age
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_u_req_ttl(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:610,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:611,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - be
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: VRT_l_req_backend_hint
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_Assign_Backend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_req_backend_hint(VRT_CTX, VCL_BACKEND be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:621,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:622,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - be
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 624
    functionName: VRT_l_bereq_backend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_Assign_Backend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_bereq_backend(VRT_CTX, VCL_BACKEND be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:630,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 633
    functionName: VRT_r_bereq_backend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VRT_r_bereq_backend(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:639,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 642
    functionName: VRT_r_beresp_backend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VRT_r_beresp_backend(VRT_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:649,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:650,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:652,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:655,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:658,1
    - Dst: VBO_SetState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:659,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 662
    functionName: VRT_u_bereq_body
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VBO_SetState
    - http_Unset
    - AZ
    - CHECK_OBJ
    - HSH_DerefObjCore
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_u_bereq_body(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:670,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:671,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:672,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - process_esi
    argTypes:
    - VCL_BOOL
    assertStmts:
    - condition: (ctx->syntax <= 40)
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    constantsTouched: []
    func_position:
      end: 681
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 681
    functionName: VRT_l_req_esi
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - assert
    - IS_TOPREQ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_req_esi(VRT_CTX, VCL_BOOL process_esi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:687,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:688,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ctx->syntax <= 40)
      pos:
        line_end: 688
        line_start: 688
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: VRT_r_req_esi
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_req_esi(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:697,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: VRT_r_req_esi_level
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_req_esi_level(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:708,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:709,1
    - Dst: RFC2616_Req_Gzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: VRT_r_req_can_gzip
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - RFC2616_Req_Gzip
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_req_can_gzip(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:719,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 722
    functionName: VRT_r_req_restarts
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_req_restarts(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:728,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 731
    functionName: VRT_r_bereq_retries
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_bereq_retries(VRT_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:737,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 744
    functionName: VRT_l_bereq_retry_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_bereq_retry_connect(VRT_CTX, VCL_BOOL b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:750,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 753
    functionName: VRT_r_bereq_retry_connect
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_bereq_retry_connect(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:760,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:762,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 765
    functionName: VRT_r_req_transport
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_r_req_transport(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 789
    functionName: ttl_now
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    linkageType: ''
    returnType: double
    signature: double ttl_now(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - oc
    - ','
    - fld
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 806
    functionName: VRT_DO_EXP_L
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_DO_EXP_L(which, oc, fld, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - which
    - ','
    - oc
    - ','
    - fld
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 821
    functionName: VRT_DO_EXP_R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_DO_EXP_R(which, oc, fld, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - which
    - ','
    - where
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 855
    functionName: VRT_DO_TIME_R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_DO_TIME_R(which, where, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - which
    - ','
    - oc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 876
    functionName: VRT_DO_AGE_R
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_DO_AGE_R(which, oc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:889,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:890,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:891,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:892,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 894
    functionName: VRT_r_req_xid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - AN
    - VXID
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_req_xid(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:900,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:901,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:902,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 905
    functionName: VRT_r_bereq_xid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - AN
    - VXID
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_bereq_xid(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:912,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:915,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:918,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:922,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 924
    functionName: VRT_r_sess_xid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    - VXID
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_sess_xid(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 939
    functionName: VREQW1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VREQW1(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 949
    functionName: VREQR1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VREQR1(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - r
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 953
    functionName: REQ_FLAG
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_FLAG(l, r, w, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 968
    functionName: GIP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GIP(fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 998
    functionName: LOC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOC(var,fld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1014
    functionName: VRT_r_server_identity
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_r_server_identity(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1020,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1022,1
    - Dst: gethostname
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1024
    functionName: VRT_r_server_hostname
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - gethostname
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_r_server_hostname(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1031,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1032,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1037
    functionName: VRT_r_obj_hits
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_obj_hits(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1044,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1045,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1049
    functionName: VRT_r_obj_stale_hits
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_r_obj_stale_hits(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1054,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1055,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1059
    functionName: VRT_r_obj_stale_is_valid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_obj_stale_is_valid(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1066,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1067,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1072
    functionName: VRT_r_resp_is_streaming
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_resp_is_streaming(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1083
    functionName: resp_filter_fixed
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    linkageType: ''
    returnType: int
    signature: int resp_filter_fixed(VRT_CTX, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1089,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1090,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1091,1
    - Dst: resp_filter_fixed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - process_esi
    argTypes:
    - VCL_BOOL
    assertStmts:
    - condition: (ctx->syntax >= 41)
      pos:
        line_end: 1090
        line_start: 1090
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    constantsTouched: []
    func_position:
      end: 1095
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1095
    functionName: VRT_l_resp_do_esi
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - assert
    - resp_filter_fixed
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_l_resp_do_esi(VRT_CTX, VCL_BOOL process_esi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1101,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1102,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1103,1
    - Dst: resp_filter_fixed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ctx->syntax >= 41)
      pos:
        line_end: 1102
        line_start: 1102
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    constantsTouched: []
    func_position:
      end: 1107
      start: 1097
    functionDepth: 2
    functionLinenumber: 1097
    functionLinenumberEnd: 1107
    functionName: VRT_r_resp_do_esi
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - assert
    - resp_filter_fixed
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_r_resp_do_esi(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - which
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1143
    functionName: VRT_BODY_L
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_BODY_L(which)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1160,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1161,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1163,1
    - Dst: VRT_l_resp_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1166,1
    - Dst: VRT_l_resp_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1168,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1172,1
    - Dst: VRT_l_resp_vsb_body
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1174,1
    - Dst: ObjGetSpace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1178,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1179,1
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1183,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1186,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1188,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1189,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1190,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1195,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1196,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1197,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1198,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1206,1
    - Dst: ObjGetSpace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1208,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1210,1
    - Dst: VSCARAB_GET
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1213,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1215,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1216,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1217,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - type
    - str
    - body
    argTypes:
    - enum lbody_e
    - char*
    - VCL_BODY
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1147
    functionDepth: 7
    functionLinenumber: 1147
    functionLinenumberEnd: 1219
    functionName: VRT_l_resp_body
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_l_resp_storage
    - CHECK_OBJ_NOTNULL
    - ObjGetSpace
    - VSCARAB_GET
    - AZ
    - VRT_fail
    - TRUST_ME
    - VRT_l_resp_vsb_body
    - VSCARAB_CHECK_NOTNULL
    - strlen
    linkageType: ''
    returnType: VCL_VOID
    signature: "VCL_VOID VRT_l_resp_body(VRT_CTX, enum lbody_e type,\n    const char
      *str, VCL_BODY body)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1230,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1231,1
    - Dst: VRT_blob
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1234
    functionName: VRT_r_req_hash
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_blob
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BLOB
    signature: VCL_BLOB VRT_r_req_hash(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1239,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1240,1
    - Dst: VRT_blob
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1236
    functionDepth: 1
    functionLinenumber: 1236
    functionLinenumberEnd: 1243
    functionName: VRT_r_bereq_hash
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VRT_blob
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BLOB
    signature: VCL_BLOB VRT_r_bereq_hash(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1255
    functionName: HTTP_VAR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTP_VAR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_timeval_sock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1266,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1267,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - d
    argTypes:
    - struct sess*
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1269
    functionName: set_idle_send_timeout
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached:
    - VTCP_Assert
    - VTIM_timeval_sock
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void set_idle_send_timeout(const struct sess *sp, VCL_DURATION d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - setter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1300
    functionName: SESS_VAR_DUR
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SESS_VAR_DUR(x, setter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: VBP_STATE
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBP_STATE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - c
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: BITMAP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITMAP(n, c, t, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:116,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:118,1
    - Dst: VRT_BACKEND_PROBE_HANDLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:121,1
    - Dst: VCP_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:123,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:124,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts:
    - condition: (vt->heap_idx == VBH_NOIDX)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: vbp_delete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - VRT_BACKEND_PROBE_HANDLE
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - assert
    - VCP_Rel
    - free
    linkageType: ''
    returnType: void
    signature: void vbp_delete(struct vbp_target *vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: vbp_start_poke
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbp_start_poke(struct vbp_target *vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - c
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: BITMAP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITMAP(n, c, t, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: vbp_has_poked
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbp_has_poked(struct vbp_target *vt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:176,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:182,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:184,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:186,1
    - Dst: VDI_Event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:194,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:196,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:197,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:205,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts:
    - condition: (i < sizeof bits)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 207
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 207
    functionName: VBP_Update_Backend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - AN
    - VDI_Event
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - VSL
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void VBP_Update_Backend(struct vbp_target *vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - c
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: BITMAP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITMAP(n, c, t, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:214,1
    - Dst: vbp_start_poke
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:222,1
    - Dst: vbp_has_poked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 226
    functionName: vbp_reset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - vbp_start_poke
    - vbp_has_poked
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vbp_reset(struct vbp_target *vt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - c
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: BITMAP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITMAP(n, c, t, b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:240,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:241,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:245,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:246,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:248,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:250,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - vt
    - sock
    - buf
    - len
    argTypes:
    - struct vbp_target*
    - int*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 256
    functionName: vbp_write
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - VAS_errtxt
    - bprintf
    - VTCP_Assert
    - write
    - VTCP_close
    linkageType: ''
    returnType: int
    signature: int vbp_write(struct vbp_target *vt, int *sock, const void *buf, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:269,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:270,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:271,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:271,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:273,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:275,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:276,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:280,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:282,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:282,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:284,1
    - Dst: vbp_write
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:285,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - vt
    - sock
    argTypes:
    - struct vbp_target*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 286
    functionName: vbp_write_proxy_v1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - VSA_getsockname
    - AN
    - VTCP_name
    - VSB_init
    - VSB_fini
    - VSB_finish
    - VSB_printf
    - AZ
    - vbp_write
    - VSB_cat
    - strlen
    - VSA_Get_Proto
    linkageType: ''
    returnType: int
    signature: int vbp_write_proxy_v1(struct vbp_target *vt, int *sock)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:299,1
    - Dst: VCP_Open
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:302,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:304,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:304,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:305,1
    - Dst: VBE_Connect_Error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:307,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:308,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:312,1
    - Dst: VSA_Compare
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:313,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:320,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:322,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:325,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:328,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:332,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:337,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:340,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:341,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:346,1
    - Dst: vbp_write_proxy_v1
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:348,1
    - Dst: vbp_write
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:351,1
    - Dst: vbp_write
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:355,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:365,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:368,1
    - Dst: poll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:374,1
    - Dst: VTIM_poll_tmo
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:374,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:381,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:382,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:387,1
    - Dst: read
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:390,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:391,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:394,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:395,1
    - Dst: VTCP_close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:401,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:410,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:415,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:421,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:424,1
    - Dst: sscanf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:428,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 103
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts:
    - condition: (proxy_header <= 2)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 432
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 432
    functionName: vbp_poke
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - VAS_errtxt
    - VTIM_real
    - vbp_write
    - poll
    - VSA_Get_Proto
    - vbp_write_proxy_v1
    - VCP_Open
    - sscanf
    - VTCP_Assert
    - Lck_Lock
    - WRONG
    - read
    - VBE_Connect_Error
    - VTCP_close
    - bprintf
    - assert
    - strchr
    - VTIM_poll_tmo
    - Lck_Unlock
    - VSA_Compare
    linkageType: ''
    returnType: void
    signature: void vbp_poke(struct vbp_target *vt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VBH_insert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:440,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:441,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:442,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: vbp_heap_insert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - PTOK
    - VBH_root
    - pthread_cond_signal
    - VBH_insert
    linkageType: ''
    returnType: void
    signature: void vbp_heap_insert(struct vbp_target *vt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:455,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:457,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:459,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:463,1
    - Dst: vbp_heap_insert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:464,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - vt
    argTypes:
    - struct vbp_target*
    assertStmts:
    - condition: (vt->heap_idx == VBH_NOIDX)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 473
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 473
    functionName: vbp_task_complete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - assert
    - Lck_AssertHeld
    - WRONG
    - vbp_heap_insert
    linkageType: ''
    returnType: struct vbp_target
    signature: 'struct vbp_target *

      vbp_task_complete(struct vbp_target *vt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:480,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:481,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:483,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:484,1
    - Dst: vbp_start_poke
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:486,1
    - Dst: vbp_poke
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:487,1
    - Dst: vbp_has_poked
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:488,1
    - Dst: VBP_Update_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:489,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:491,1
    - Dst: vbp_task_complete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:492,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:493,1
    - Dst: vbp_delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (vt->req_len > 0)
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 497
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 497
    functionName: vbp_task
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - vbp_has_poked
    - CAST_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - vbp_task_complete
    - vbp_start_poke
    - VBP_Update_Backend
    - vbp_delete
    - vbp_poke
    linkageType: ''
    returnType: void
    signature: void vbp_task(struct worker *wrk, void *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:509,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:510,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:511,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:513,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:514,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:517,1
    - Dst: Lck_CondWaitUntil
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:520,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:522,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:523,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:527,1
    - Dst: Pool_Task_Any
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:529,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:531,1
    - Dst: vbp_task_complete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:534,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:537,1
    - Dst: vbp_delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:539,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:541,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:544,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:544,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:545,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (vt->state == vbp_state_scheduled)
      pos:
        line_end: 521
        line_start: 521
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 546
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 546
    functionName: vbp_scheduler
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - VBH_root
    - Lck_CondWaitUntil
    - Lck_Unlock
    - return
    - CHECK_OBJ_NOTNULL
    - VBH_delete
    - VTIM_real
    - NEEDLESS
    - AZ
    - assert
    - Pool_Task_Any
    - Lck_Lock
    - vbp_task_complete
    - vbp_delete
    linkageType: ''
    returnType: void
    signature: void vbp_scheduler(struct worker *wrk, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:559,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:562,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:564,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - vsb
    - c
    - map
    - lbl
    argTypes:
    - struct vsb*
    - char
    - uint64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 568
    functionName: vbp_bitmap
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSB_cat
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void vbp_bitmap(struct vsb *vsb, char c, uint64_t map, const char *lbl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:577,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:579,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:583,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:587,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:593,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:594,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:598,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:599,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:600,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:601,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:602,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:603,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:607,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:610,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - vsb
    - be
    - details
    - json
    argTypes:
    - struct vsb*
    - struct backend*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 620
    functionName: VBP_Status
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 1
    functionsReached:
    - VSB_indent
    - VSB_printf
    - VSB_cat
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VBP_Status(struct vsb *vsb, const struct backend *be, int details,
      int json)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nn
    - ','
    - cc
    - ','
    - tt
    - ','
    - bb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: BITMAP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITMAP(nn, cc, tt, bb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - n
    - ','
    - c
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: BITMAP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITMAP(n, c, t, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:632,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:633,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:634,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:636,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:638,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:639,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:647,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:647,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:648,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:648,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:649,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:650,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - vt
    - vbp
    - be
    argTypes:
    - struct vbp_target*
    - struct vrt_backend_probe*
    - struct backend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 652
    functionName: vbp_build_req
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_data
    - VSB_finish
    - VSB_printf
    - strdup
    - AZ
    - VSB_len
    - VSB_cat
    - VSB_clear
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: "void vbp_build_req(struct vbp_target *vt, const struct vrt_backend_probe
      *vbp,\n    const struct backend *be)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VRT_BACKEND_PROBE_HANDLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:664,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - vt
    - vp
    argTypes:
    - struct vbp_target*
    - struct vrt_backend_probe*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 682
    functionName: vbp_set_defaults
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - vmin
    - VRT_BACKEND_PROBE_HANDLE
    linkageType: ''
    returnType: void
    signature: void vbp_set_defaults(struct vbp_target *vt, const struct vrt_backend_probe
      *vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 664
    functionName: DN
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DN(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:692,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:694,1
    - Dst: vbp_reset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:696,1
    - Dst: VBP_Update_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:697,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:699,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:704,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:705,1
    - Dst: vbp_heap_insert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:706,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:709,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:714,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:715,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:718,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - be
    - enable
    argTypes:
    - struct backend*
    - int
    assertStmts:
    - condition: (vt->heap_idx == VBH_NOIDX)
      pos:
        line_end: 703
        line_start: 703
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    - condition: (vt->heap_idx != VBH_NOIDX)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 721
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 721
    functionName: VBP_Control
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 1
    functionsReached:
    - vbp_reset
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - VBH_delete
    - VTIM_real
    - assert
    - Lck_Lock
    - WRONG
    - VBP_Update_Backend
    - vbp_heap_insert
    linkageType: ''
    returnType: void
    signature: void VBP_Control(const struct backend *be, int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:733,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:734,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:736,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:738,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:739,1
    - Dst: VCP_AddRef
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:743,1
    - Dst: vbp_set_defaults
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:747,1
    - Dst: vbp_build_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:748,1
    - Dst: vbp_reset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - b
    - vp
    - tp
    argTypes:
    - struct backend*
    - struct vrt_backend_probe*
    - struct conn_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 751
    functionName: VBP_Insert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 1
    functionsReached:
    - vbp_reset
    - VCP_AddRef
    - CHECK_OBJ_NOTNULL
    - vbp_set_defaults
    - AZ
    - vbp_build_req
    - XXXAN
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void VBP_Insert(struct backend *b, const struct vrt_backend_probe
      *vp,\n    struct conn_pool *tp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:758,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:760,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:762,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:770,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:771,1
    - Dst: vbp_delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct backend*
    assertStmts:
    - condition: (vt->state == vbp_state_cold)
      pos:
        line_end: 769
        line_start: 769
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    constantsTouched: []
    func_position:
      end: 774
      start: 753
    functionDepth: 4
    functionLinenumber: 753
    functionLinenumberEnd: 774
    functionName: VBP_Remove
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - assert
    - Lck_Lock
    - vbp_delete
    linkageType: ''
    returnType: void
    signature: void VBP_Remove(struct backend *be)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:783,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:784,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 788
    functionName: vbp_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void vbp_cmp(void *priv, const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:795,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - p
    - u
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 798
    functionName: vbp_update
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void vbp_update(void *priv, void *p, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:807,1
    - Dst: VBH_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:808,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:809,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:810,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:810,1
    - Dst: WRK_BgThread
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 812
    functionName: VBP_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    functionUses: 1
    functionsReached:
    - AN
    - VBH_new
    - WRK_BgThread
    - PTOK
    - pthread_cond_init
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void VBP_Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:46,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:47,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:48,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:49,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:50,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:51,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:52,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:52,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:53,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:54,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:54,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:55,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:56,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:57,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:58,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:58,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:60,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:61,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts:
    - condition: (PAOK(ws->s))
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (*ws->e == WS_REDZONE_END)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->e != NULL)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->f <= ws->e)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->r >= ws->f)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (PAOK(ws->e))
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (PAOK(ws->f))
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->f >= ws->s)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->s != NULL)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->s < ws->e)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->r <= ws->e)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: WS_Assert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 23
    functionsReached:
    - PAOK
    - CHECK_OBJ_NOTNULL
    - assert
    - pdiff
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_Assert(const struct ws *ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:71,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:73,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ws
    - ptr
    - len
    argTypes:
    - struct ws*
    - void*
    - ssize_t
    assertStmts:
    - condition: (!(p > ws->f && p <= ws->e))
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: WS_Allocated
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 0
    functionsReached:
    - assert
    - WS_Assert
    - strlen
    linkageType: ''
    returnType: int
    signature: int WS_Allocated(const struct ws *ws, const void *ptr, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:90,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:91,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:93,1
    - Dst: PAOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:93,1
    - Dst: PRNDDN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:94,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:96,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:98,1
    - Dst: bstrcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:99,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ws
    - id
    - space
    - len
    argTypes:
    - struct ws*
    - char*
    - void*
    - unsigned
    assertStmts:
    - condition: (space != NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (PAOK(space))
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (id[0] & 0x20)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 101
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 101
    functionName: WS_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 6
    functionsReached:
    - PAOK
    - WS_Assert
    - INIT_OBJ
    - bstrcpy
    - memset
    - PRNDDN
    - assert
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_Init(struct ws *ws, const char *id, void *space, unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:117,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:118,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:120,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:121,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:121,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:125,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:126,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:127,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:128,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - ws
    - pp
    argTypes:
    - struct ws*
    - uintptr_t
    assertStmts:
    - condition: (ws->r == NULL)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (p >= ws->s)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (p <= ws->e)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 131
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 131
    functionName: WS_Reset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 3
    functionsReached:
    - WS_Overflowed
    - WS_Assert
    - AN
    - assert
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_Reset(struct ws *ws, uintptr_t pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:143,1
    - Dst: WS_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:146,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:148,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:151,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:155,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:156,1
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ws
    - b
    - e
    - rollback
    argTypes:
    - struct ws*
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: WS_Pipeline
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 1
    functionsReached:
    - WS_Rollback
    - WS_Assert
    - AN
    - WS_ReserveAll
    - AZ
    - memmove
    - pdiff
    linkageType: ''
    returnType: int
    signature: int WS_Pipeline(struct ws *ws, const void *b, const void *e, unsigned
      rollback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:168,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:169,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:170,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:172,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:174,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:179,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - ws
    - bytes
    argTypes:
    - struct ws*
    - unsigned
    assertStmts:
    - condition: (ws->r == NULL)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (bytes > 0)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: WS_Alloc
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 13
    functionsReached:
    - WS_Assert
    - PRNDUP
    - WS_MarkOverflow
    - assert
    - DSLb
    linkageType: ''
    returnType: void
    signature: 'void *

      WS_Alloc(struct ws *ws, unsigned bytes)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:190,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:191,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:194,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:195,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:197,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:199,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:204,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:205,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ws
    - str
    - len
    argTypes:
    - struct ws*
    - void*
    - int
    assertStmts:
    - condition: (ws->r == NULL)
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (len > 0)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 208
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 208
    functionName: WS_Copy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 1
    functionsReached:
    - WS_Assert
    - memcpy
    - WS_MarkOverflow
    - DSLb
    - assert
    - PRNDUP
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void *

      WS_Copy(struct ws *ws, const void *str, int len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:214,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:215,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:216,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:217,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts:
    - condition: (ws->r == NULL)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: WS_Snapshot
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 5
    functionsReached:
    - assert
    - WS_Overflowed
    - WS_Assert
    - DSLb
    linkageType: ''
    returnType: uintptr_t
    signature: uintptr_t WS_Snapshot(struct ws *ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:233,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:234,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:237,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:239,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts:
    - condition: (ws->r == NULL)
      pos:
        line_end: 233
        line_start: 233
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 243
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 243
    functionName: WS_ReserveAll
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 7
    functionsReached:
    - assert
    - WS_Assert
    - pdiff
    - DSLb
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReserveAll(struct ws *ws)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:253,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:254,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:255,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:257,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:259,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:263,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - ws
    - bytes
    argTypes:
    - struct ws*
    - unsigned
    assertStmts:
    - condition: (ws->r == NULL)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (bytes > 0)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: WS_ReserveSize
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 6
    functionsReached:
    - WS_Assert
    - WS_MarkOverflow
    - assert
    - pdiff
    - DSLb
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReserveSize(struct ws *ws, unsigned bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:272,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:273,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:274,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:276,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:277,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ws
    - bytes
    argTypes:
    - struct ws*
    - unsigned
    assertStmts:
    - condition: (ws->f + bytes <= ws->r)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ws->r != NULL)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (bytes <= ws->e - ws->f)
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 280
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 280
    functionName: WS_Release
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 13
    functionsReached:
    - assert
    - WS_Assert
    - PRNDUP
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_Release(struct ws *ws, unsigned bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:285,1
    - Dst: DSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:286,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:288,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:289,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:290,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:291,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ws
    - ptr
    argTypes:
    - struct ws*
    - char*
    assertStmts:
    - condition: (ws->r != NULL)
      pos:
        line_end: 287
        line_start: 287
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ptr <= ws->r)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    - condition: (ptr >= ws->f)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: WS_ReleaseP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 3
    functionsReached:
    - assert
    - WS_Assert
    - PRNDUP
    - DSLb
    linkageType: ''
    returnType: void
    signature: void WS_ReleaseP(struct ws *ws, const char *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:301,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:303,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ws
    - 'off'
    - len
    argTypes:
    - struct ws*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: WS_AtOffset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 2
    functionsReached:
    - WS_Allocated
    - WS_Assert
    - AN
    linkageType: ''
    returnType: void
    signature: 'void *

      WS_AtOffset(const struct ws *ws, unsigned off, unsigned len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ws
    argTypes:
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: WS_ReservationOffset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 1
    functionsReached:
    - AN
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_ReservationOffset(const struct ws *ws)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:323,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:324,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:325,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:347,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:349,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:354,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - ws
    - where
    - 'off'
    - buf
    - len
    argTypes:
    - struct ws*
    - char
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 357
    functionName: WS_Dump
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - memcpy
    - memset
    - pdiff
    linkageType: ''
    returnType: unsigned
    signature: unsigned WS_Dump(const struct ws *ws, char where, size_t off, void
      *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:365,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - vsb
    - s
    - p
    argTypes:
    - struct vsb*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: ws_printptr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void ws_printptr(struct vsb *vsb, const char *s, const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:374,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:377,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:378,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:379,1
    - Dst: ws_printptr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:380,1
    - Dst: ws_printptr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:381,1
    - Dst: ws_printptr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:382,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:383,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:384,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - vsb
    - ws
    argTypes:
    - struct vsb*
    - struct ws*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: WS_Panic
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
    functionUses: 6
    functionsReached:
    - ws_printptr
    - VSB_indent
    - PAN_dump_struct
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void WS_Panic(struct vsb *vsb, const struct ws *ws)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:101,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:104,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: BAN_Build
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 2
    functionsReached:
    - FREE_OBJ
    - ALLOC_OBJ
    - VSB_new_auto
    linkageType: ''
    returnType: struct ban_proto
    signature: 'struct ban_proto *

      BAN_Build(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:117,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:118,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bp
    argTypes:
    - struct ban_proto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: BAN_Abandon
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 1
    functionsReached:
    - FREE_OBJ
    - VSB_destroy
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void BAN_Abandon(struct ban_proto *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:128,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:130,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:131,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:132,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:133,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bp
    - p
    - len
    argTypes:
    - struct ban_proto*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: ban_add_lump
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - vbe32enc
    - VSB_putc
    - VSB_len
    - VSB_bcat
    - PRNDUP
    linkageType: ''
    returnType: void
    signature: void ban_add_lump(const struct ban_proto *bp, const void *p, uint32_t
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:145,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:146,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:154,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:155,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:156,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:157,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:158,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:158,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - bp
    - fmt
    argTypes:
    - struct ban_proto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 163
    functionName: ban_error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_data
    - VSB_finish
    - AZ
    - va_start
    - VSB_vprintf
    - VSB_clear
    - va_end
    linkageType: ''
    returnType: char
    signature: 'char *

      ban_error(struct ban_proto *bp, const char *fmt, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:175,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:176,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:177,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:178,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:179,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - bp
    - a1
    argTypes:
    - struct ban_proto*
    - char*
    assertStmts:
    - condition: (l <= 127)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: ban_parse_http
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - assert
    - VSB_cat
    - strlen
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void ban_parse_http(const struct ban_proto *bp, const char *a1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VRE_compile
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:196,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:198,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:198,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:199,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:199,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:200,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:200,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:201,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:202,1
    - Dst: VRE_export
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:205,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:206,1
    - Dst: ban_add_lump
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:207,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:208,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - bp
    - a3
    argTypes:
    - struct ban_proto*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 211
    functionName: ban_parse_regexp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_fini
    - VSB_init
    - ban_add_lump
    - VSB_finish
    - VRE_free
    - VRE_export
    - AZ
    - VRE_error
    - ban_error
    - VRE_compile
    linkageType: ''
    returnType: char
    signature: 'char *

      ban_parse_regexp(struct ban_proto *bp, const char *a3)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: ban_parse_oper
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ban_parse_oper(const char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:232,1
    - Dst: BANS_HAS_ARG2_DOUBLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:232,1
    - Dst: ban_add_lump
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:234,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:234,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:235,1
    - Dst: BANS_HAS_ARG2_SPEC
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:237,1
    - Dst: ban_parse_regexp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bp
    - pv
    - op
    - a3
    argTypes:
    - struct ban_proto*
    - struct pvar*
    - int
    - char*
    assertStmts:
    - condition: (! BANS_HAS_ARG2_DOUBLE(pv->tag))
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: ban_add_spec
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - ban_add_lump
    - VSB_putc
    - BANS_HAS_ARG2_DOUBLE
    - assert
    - strlen
    - BANS_HAS_ARG2_SPEC
    - ban_parse_regexp
    linkageType: ''
    returnType: char
    signature: 'char *

      ban_add_spec(struct ban_proto *bp, const struct pvar *pv, int op, const char
      *a3)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:249,1
    - Dst: BANS_HAS_ARG2_DOUBLE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:249,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:250,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:251,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:252,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:253,1
    - Dst: ban_add_lump
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:255,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - bp
    - pv
    - op
    - darg
    argTypes:
    - struct ban_proto*
    - struct pvar*
    - int
    - double
    assertStmts:
    - condition: (BANS_HAS_ARG2_DOUBLE(pv->tag))
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    - condition: (sizeof darg == sizeof dtmp)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    - condition: (sizeof dtmp == sizeof denc)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: ban_add_double
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - ban_add_lump
    - memcpy
    - vbe64enc
    - VSB_putc
    - BANS_HAS_ARG2_DOUBLE
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      ban_add_double(const struct ban_proto *bp, const struct pvar *pv, int op, double
      darg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:265,1
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:266,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:267,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:268,1
    - Dst: ban_add_double
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bp
    - pv
    - op
    - a3
    argTypes:
    - struct ban_proto*
    - struct pvar*
    - int
    - char*
    assertStmts:
    - condition: (pv->flag & BANS_FLAG_DURATION)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: ban_add_duration
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - VNUM_duration
    - assert
    - isnan
    - ban_error
    - ban_add_double
    linkageType: ''
    returnType: char
    signature: 'char *

      ban_add_duration(struct ban_proto *bp, const struct pvar *pv, int op, const
      char *a3)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:281,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:282,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:283,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:284,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:285,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:291,1
    - Dst: strncmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:293,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:293,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:298,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:303,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:305,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:305,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:306,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:308,1
    - Dst: BANS_HAS_ARG1_SPEC
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:308,1
    - Dst: ban_parse_http
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:309,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:309,1
    - Dst: ban_parse_oper
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:312,1
    - Dst: BAN_OPERIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:314,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:314,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:315,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:317,1
    - Dst: ban_add_duration
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:320,1
    - Dst: ban_add_spec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:322,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - bp
    - a1
    - a2
    - a3
    argTypes:
    - struct ban_proto*
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (BANS_HAS_ARG1_SPEC(pv->tag))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    constantsTouched: []
    func_position:
      end: 323
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 323
    functionName: BAN_AddTest
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 1
    functionsReached:
    - AN
    - BAN_OPERIDX
    - VSB_putc
    - CHECK_OBJ_NOTNULL
    - BANS_HAS_ARG1_SPEC
    - ban_parse_http
    - BAN_ARGIDX
    - ban_add_spec
    - ban_parse_oper
    - ban_add_duration
    - strcmp
    - assert
    - strncmp
    - strlen
    - ban_error
    linkageType: ''
    returnType: char
    signature: "char *\nBAN_AddTest(struct ban_proto *bp,\n    const char *a1, const
      char *a2, const char *a3)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:345,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:346,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:347,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:350,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:352,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:352,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:353,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:354,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:356,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:358,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:359,1
    - Dst: malloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:361,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:363,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:364,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:369,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:370,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:371,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:372,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:374,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:374,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:376,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:378,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:381,1
    - Dst: BAN_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:382,1
    - Dst: ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:383,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:385,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:386,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:401,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:402,1
    - Dst: ban_equal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:404,1
    - Dst: ban_mark_completed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:405,1
    - Dst: ban_kick_lurker
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:412,1
    - Dst: ban_info_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:415,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:416,1
    - Dst: BAN_Abandon
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:418,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - bp
    argTypes:
    - struct ban_proto*
    assertStmts:
    - condition: (sizeof u == sizeof t0)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    - condition: (ln >= 0)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    constantsTouched: []
    func_position:
      end: 420
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 420
    functionName: BAN_Commit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 2
    functionsReached:
    - VTAILQ_FIRST
    - VSB_finish
    - VTIM_real
    - ban_mark_completed
    - AN
    - vbe32enc
    - malloc
    - memcpy
    - memset
    - Lck_Lock
    - ban_info_new
    - VSB_data
    - VTAILQ_INIT
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - vbe64enc
    - AZ
    - assert
    - VSB_len
    - ban_kick_lurker
    - BAN_Free
    - free
    - Lck_Unlock
    - ban_equal
    - BAN_Abandon
    - VTAILQ_NEXT
    - ALLOC_OBJ
    - ban_error
    linkageType: ''
    returnType: char
    signature: 'char *

      BAN_Commit(struct ban_proto *bp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_BAN_ARG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:429,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:430,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:440,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:441,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:448,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:449,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:450,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:451,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:455,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - vsb
    - arg
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 457
    functionName: ban_build_arg_operhelp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 0
    functionsReached:
    - BAN_ARGIDX
    - VSB_cat
    - AN
    - ASSERT_BAN_ARG
    linkageType: ''
    returnType: void
    signature: void ban_build_arg_operhelp(struct vsb *vsb, int arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:464,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:465,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:467,1
    - Dst: ban_build_arg_operhelp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:468,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:469,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:469,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:471,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:471,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:471,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:472,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:472,1
    - Dst: BAN_ARGIDX
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:474,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: BAN_Build_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 1
    functionsReached:
    - AN
    - VSB_data
    - VSB_finish
    - BAN_ARGIDX
    - strdup
    - ban_build_arg_operhelp
    - AZ
    - VSB_clear
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void BAN_Build_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:483,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 484
    functionName: BAN_Build_Fini
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    functionUses: 1
    functionsReached:
    - TRUST_ME
    - free
    linkageType: ''
    returnType: void
    signature: void BAN_Build_Fini(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:77,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:78,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:82,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:87,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:92,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:98,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:99,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:101,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:107,1
    - Dst: http_Status2Reason
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:110,1
    - Dst: http_Status2Reason
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - code
    - reason
    argTypes:
    - VCL_INT
    - VCL_STRING
    assertStmts:
    - condition: (ctx->req != NULL || ctx->bo != NULL)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 117
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 117
    functionName: VRT_synth
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - WS_Copy
    - CHECK_OBJ_NOTNULL
    - assert
    - VRT_fail
    - http_Status2Reason
    - WS_Allocated
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_synth(VRT_CTX, VCL_INT code, VCL_STRING reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:125,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:126,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:128,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:128,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: VPI_acl_log
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSL
    - VSLbs
    - TOSTRAND
    linkageType: ''
    returnType: void
    signature: void VPI_acl_log(VRT_CTX, const char *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:137,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:139,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:143,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:144,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:144,1
    - Dst: VCL_ACL::match
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - acl
    - ip
    argTypes:
    - VCL_ACL
    - VCL_IP
    assertStmts:
    - condition: (VSA_Sane(ip))
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: VRT_acl_match
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSA_Sane
    - VRT_fail
    - assert
    - VCL_ACL::match
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: int VRT_acl_match(VRT_CTX, VCL_ACL acl, VCL_IP ip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - fam
    - key
    - b
    argTypes:
    - int
    - uint8_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: acl_tbl_cmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int acl_tbl_cmp(int fam, const uint8_t *key, const uint8_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acl_tbl_cmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - fam
    - key
    - base0
    - nmemb
    - size
    argTypes:
    - int
    - uint8_t*
    - uint8_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: bbsearch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - acl_tbl_cmp
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *\nbbsearch(int fam, const uint8_t *key, const uint8_t *base0,\n
      \   size_t nmemb, size_t size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:193,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:194,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:195,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:196,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:197,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:198,1
    - Dst: VRT_VSA_GetPtr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:200,1
    - Dst: bbsearch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:201,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:205,1
    - Dst: VPI_acl_log
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:208,1
    - Dst: VPI_acl_log
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - p
    - n
    - m
    - tbl
    - str
    - fin
    argTypes:
    - VCL_IP
    - unsigned
    - unsigned
    - uint8_t*
    - char**
    - char*
    assertStmts:
    - condition: (m == 20)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 214
      start: 184
    functionDepth: 7
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: VPI_acl_table
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - bbsearch
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VPI_acl_log
    - VRT_VSA_GetPtr
    linkageType: ''
    returnType: int
    signature: "int VPI_acl_table(VRT_CTX, VCL_IP p, unsigned n, unsigned m, const
      uint8_t *tbl,\n    const char * const *str, const char *fin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:223,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:225,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:229,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: VRT_hit_for_pass
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_hit_for_pass(VRT_CTX, VCL_DURATION d)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:245,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - where
    argTypes:
    - enum gethdr_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: VRT_selecthttp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - WRONG
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_HTTP
    signature: VCL_HTTP VRT_selecthttp(VRT_CTX, enum gethdr_e where)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:280,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:282,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:283,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:284,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:289,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:290,1
    - Dst: HTTP_GetHdrPack
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:291,1
    - Dst: VRT_selecthttp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:294,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:295,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - hs
    argTypes:
    - VCL_HEADER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 299
    functionName: VRT_GetHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - http_GetHdr
    - HTTP_GetHdrPack
    - CHECK_OBJ_NOTNULL
    - VRT_selecthttp
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_GetHdr(VRT_CTX, VCL_HEADER hs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:313,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ws
    - n
    argTypes:
    - struct ws*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 324
    functionName: VRT_AllocStrandsWS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - WS_Alloc
    linkageType: ''
    returnType: struct strands
    signature: 'struct strands *

      VRT_AllocStrandsWS(struct ws *ws, int n)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:336,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:337,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - VCL_STRANDS
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 365
    functionName: VRT_CompareStrands
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VRT_CompareStrands(VCL_STRANDS a, VCL_STRANDS b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 381
    functionName: VRT_Strands2Bool
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_Strands2Bool(VCL_STRANDS s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:395,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:396,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:400,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:400,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:402,1
    - Dst: vle32dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 410
    functionName: VRT_HashStrands32
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VSHA256_Final
    - CHECK_OBJ_NOTNULL
    - VSHA256_Init
    - VSHA256_Update
    - vle32dec
    - strlen
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t VRT_HashStrands32(VCL_STRANDS s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:424,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:425,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:430,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:433,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - d
    - dl
    - s
    argTypes:
    - char*
    - size_t
    - VCL_STRANDS
    assertStmts:
    - condition: (b < e)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 439
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 439
    functionName: VRT_Strands
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - memcpy
    - assert
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      VRT_Strands(char *d, size_t dl, VCL_STRANDS s)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:452,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:453,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:465,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:467,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:475,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:477,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:480,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:482,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 3
    argNames:
    - ws
    - h
    - s
    argTypes:
    - struct ws*
    - char*
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 483
    functionName: VRT_StrandsWS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 2
    functionsReached:
    - WS_Assert
    - CHECK_OBJ_NOTNULL
    - VSB_cat
    - WS_VSB_new
    - WS_Allocated
    - WS_VSB_finish
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_StrandsWS(struct ws *ws, const char *h, VCL_STRANDS
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:494,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:495,1
    - Dst: VRT_StrandsWS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:496,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 500
    functionName: VRT_STRANDS_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VRT_StrandsWS
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_STRANDS_string(VRT_CTX, VCL_STRANDS s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:516,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:517,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:518,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:519,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:520,1
    - Dst: vct_islower
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:528,1
    - Dst: vct_isupper
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:529,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:539,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:540,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:544,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:546,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:549,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:551,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:552,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - s
    - up
    argTypes:
    - VCL_STRANDS
    - int
    assertStmts:
    - condition: (b <= e)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    - condition: (b < e)
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    - condition: (b <= e)
      pos:
        line_end: 550
        line_start: 550
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 554
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 554
    functionName: VRT_UpperLowerStrands
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - vct_islower
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - vct_isupper
    - VRT_fail
    - assert
    - WS_ReleaseP
    - WS_Reservation
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_UpperLowerStrands(VRT_CTX, VCL_STRANDS s, int up)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:567,1
    - Dst: vct_ishdrval
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: validhdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - vct_ishdrval
    - AN
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL validhdr(const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:582,1
    - Dst: validhdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 591
    functionName: VRT_ValidHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - validhdr
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_ValidHdr(VRT_CTX, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:599,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:600,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:601,1
    - Dst: VRT_selecthttp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:602,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:603,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hs
    argTypes:
    - VCL_HEADER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 605
    functionName: VRT_UnsetHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - http_Unset
    - AN
    - CHECK_OBJ_NOTNULL
    - VRT_selecthttp
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_UnsetHdr(VRT_CTX, VCL_HEADER hs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:614,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:615,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:616,1
    - Dst: VRT_selecthttp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:617,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:618,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:620,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:621,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:624,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:625,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:626,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:626,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:629,1
    - Dst: VRT_Strands
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:631,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:633,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:634,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:635,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:636,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:643,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:647,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:649,1
    - Dst: validhdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:649,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:650,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:651,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:654,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:654,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:655,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - hs
    - pfx
    - s
    argTypes:
    - VCL_HEADER
    - char*
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 607
    functionDepth: 6
    functionLinenumber: 607
    functionLinenumberEnd: 657
    functionName: VRT_SetHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - WS_ReserveAll
    - WS_ReleaseP
    - strlen
    - validhdr
    - VRT_selecthttp
    - AN
    - memcpy
    - http_Unset
    - WS_MarkOverflow
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - VRT_Strands
    - VRT_fail
    - strchr
    - TOSTRAND
    - VSLbs
    - FEATURE
    - http_SetHeader
    - WS_Reservation
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_SetHdr(VRT_CTX, VCL_HEADER hs, const char *pfx, VCL_STRANDS
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:665,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:666,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:667,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:668,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:669,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - hand
    argTypes:
    - unsigned
    assertStmts:
    - condition: (hand != VCL_RET_FAIL)
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    - condition: (hand > 0)
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    - condition: (hand < VCL_RET_MAX)
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 672
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 672
    functionName: VRT_handling
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_handling(VRT_CTX, unsigned hand)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:677,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: VRT_handled
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned VRT_handled(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:686,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: VRT_trace
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_trace(VRT_CTX, VCL_BOOL a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:698,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:699,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:700,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:703,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:704,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:705,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:705,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:706,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:708,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:710,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:711,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:712,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts:
    - condition: (ctx->vsl != NULL || ctx->msg != NULL)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 716
      start: 693
    functionDepth: 7
    functionLinenumber: 693
    functionLinenumberEnd: 716
    functionName: VRT_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 16
    functionsReached:
    - AN
    - VSB_putc
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - va_start
    - strchr
    - VSB_vprintf
    - VSLbv
    - va_end
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_fail(VRT_CTX, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:727,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:728,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:729,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:730,1
    - Dst: HSH_AddString
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:732,1
    - Dst: HSH_AddString
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 722
    functionDepth: 7
    functionLinenumber: 722
    functionLinenumberEnd: 738
    functionName: VRT_hashdata
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - AN
    - HSH_AddString
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_hashdata(VRT_CTX, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: VRT_r_now
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_TIME
    signature: VCL_TIME VRT_r_now(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:756,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:758,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:761,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ip
    argTypes:
    - VCL_IP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 752
    functionDepth: 8
    functionLinenumber: 752
    functionLinenumberEnd: 763
    functionName: VRT_IP_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - WS_Copy
    - VTCP_name
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_IP_string(VRT_CTX, VCL_IP ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: VRT_INT_is_valid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VRT_INT_is_valid(VCL_INT arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:776,1
    - Dst: VRT_INT_is_valid
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:777,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:778,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num
    argTypes:
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 8
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: VRT_INT_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VRT_INT_is_valid
    - WS_Printf
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void VRT_INT_string(VRT_CTX, VCL_INT num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 787
    functionName: VRT_REAL_is_valid
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: int
    signature: int VRT_REAL_is_valid(VCL_REAL arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:793,1
    - Dst: VRT_REAL_is_valid
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:794,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:795,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - num
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 790
    functionDepth: 8
    functionLinenumber: 790
    functionLinenumberEnd: 797
    functionName: VRT_REAL_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VRT_REAL_is_valid
    - WS_Printf
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void VRT_REAL_string(VRT_CTX, VCL_REAL num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:804,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:805,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:807,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:810,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - VCL_TIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 800
    functionDepth: 8
    functionLinenumber: 800
    functionLinenumberEnd: 816
    functionName: VRT_TIME_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - WS_Alloc
    - VTIM_format
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_TIME_string(VRT_CTX, VCL_TIME t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: VRT_BACKEND_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_BACKEND_string(VCL_BACKEND d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - VCL_PROBE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 834
    functionName: VRT_PROBE_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_PROBE_string(VCL_PROBE p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: VRT_BOOL_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VRT_BOOL_string(VCL_BOOL val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:851,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:852,1
    - Dst: VENC_Encode_Base64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:853,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:854,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - val
    argTypes:
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 857
    functionName: VRT_BLOB_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VENC_Encode_Base64
    - VSB_putc
    - WS_VSB_finish
    - WS_VSB_new
    linkageType: ''
    returnType: void
    signature: void VRT_BLOB_string(VRT_CTX, VCL_BLOB val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:865,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:866,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:868,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:872,1
    - Dst: Req_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:873,1
    - Dst: XXXAZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:875,1
    - Dst: Resp_Setup_Deliver
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:875,1
    - Dst: Resp_Setup_Synth
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:877,1
    - Dst: Bereq_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:879,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - hp
    argTypes:
    - VCL_HTTP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 861
    functionDepth: 8
    functionLinenumber: 861
    functionLinenumberEnd: 882
    functionName: VRT_Rollback
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - Bereq_Rollback
    - Resp_Setup_Synth
    - Resp_Setup_Deliver
    - VRT_fail
    - Req_Rollback
    - WRONG
    - XXXAZ
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_Rollback(VRT_CTX, VCL_HTTP hp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:889,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:890,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:891,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - err
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: vrt_ban_error
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING vrt_ban_error(VRT_CTX, VCL_STRING err)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:906,1
    - Dst: vrt_ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:909,1
    - Dst: BAN_Build
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:911,1
    - Dst: vrt_ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:913,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:915,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:916,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:919,1
    - Dst: BAN_Abandon
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:920,1
    - Dst: vrt_ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:921,1
    - Dst: BAN_AddTest
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:939,1
    - Dst: BAN_Commit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:944,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:949,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:950,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:959,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:960,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:965,1
    - Dst: BAN_Abandon
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:967,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:968,1
    - Dst: vrt_ban_error
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:971,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 1
    argNames:
    - str
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 897
    functionDepth: 4
    functionLinenumber: 897
    functionLinenumberEnd: 972
    functionName: VRT_ban_string
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - AN
    - BAN_AddTest
    - CHECK_OBJ_NOTNULL
    - VAV_Free
    - WS_Copy
    - BAN_Commit
    - strcmp
    - AZ
    - BAN_Abandon
    - WS_Printf
    - BAN_Build
    - vrt_ban_error
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_ban_string(VRT_CTX, VCL_STRING str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:979,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:982,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:982,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:984,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:985,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:989,1
    - Dst: VRB_Cache
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - maxsize
    argTypes:
    - VCL_BYTES
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 974
    functionDepth: 11
    functionLinenumber: 974
    functionLinenumberEnd: 991
    functionName: VRT_CacheReqBody
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - AN
    - VRB_Cache
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - VSLbs
    - TOSTRAND
    linkageType: ''
    returnType: VCL_BYTES
    signature: VCL_BYTES VRT_CacheReqBody(VRT_CTX, VCL_BYTES maxsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1001,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1004,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1009,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1010,1
    - Dst: HSH_Purge
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ttl
    - grace
    - keep
    argTypes:
    - VCL_DURATION
    - VCL_DURATION
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 997
    functionDepth: 8
    functionLinenumber: 997
    functionLinenumberEnd: 1013
    functionName: VRT_purge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - HSH_Purge
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT VRT_purge(VRT_CTX, VCL_DURATION ttl, VCL_DURATION grace, VCL_DURATION
      keep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1023,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1024,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1025,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1026,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1027,1
    - Dst: vsc_lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1028,1
    - Dst: VSMW_NewCluster
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1029,1
    - Dst: vsc_unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts:
    - condition: (sz > 0)
      pos:
        line_end: 1023
        line_start: 1023
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 1032
      start: 1019
    functionDepth: 5
    functionLinenumber: 1019
    functionLinenumberEnd: 1032
    functionName: VRT_VSM_Cluster_New
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - vsc_lock
    - AN
    - CHECK_OBJ_NOTNULL
    - VSMW_NewCluster
    - vsc_unlock
    - assert
    linkageType: ''
    returnType: void
    signature: void VRT_VSM_Cluster_New(VRT_CTX, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1038,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1039,1
    - Dst: VSMW_DestroyCluster
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vsmcp
    argTypes:
    - struct vsmw_cluster**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1035
    functionDepth: 6
    functionLinenumber: 1035
    functionLinenumberEnd: 1041
    functionName: VRT_VSM_Cluster_Destroy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSMW_DestroyCluster
    linkageType: ''
    returnType: void
    signature: void VRT_VSM_Cluster_Destroy(VRT_CTX, struct vsmw_cluster **vsmcp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: VRT_strcmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int VRT_strcmp(const char *s1, const char *s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1060
    functionName: VRT_memmove
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void VRT_memmove(void *dst, const void *src, unsigned len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1066,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1069,1
    - Dst: VSA_Compare_IP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sua1
    - sua2
    argTypes:
    - VCL_IP
    - VCL_IP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1062
    functionDepth: 8
    functionLinenumber: 1062
    functionLinenumberEnd: 1073
    functionName: VRT_ipcmp
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - VSA_Compare_IP
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL VRT_ipcmp(VRT_CTX, VCL_IP sua1, VCL_IP sua2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1083,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1084,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1089,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1091,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - err
    - src
    - len
    - type
    argTypes:
    - char*
    - void*
    - size_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1078
    functionDepth: 8
    functionLinenumber: 1078
    functionLinenumberEnd: 1101
    functionName: VRT_blob
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 2
    functionsReached:
    - VRT_fail
    - WS_Alloc
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BLOB
    signature: VCL_BLOB VRT_blob(VRT_CTX, const char *err, const void *src, size_t
      len, unsigned type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1107,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1108,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1111,1
    - Dst: VSA_GetPtr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sua
    - dst
    argTypes:
    - struct suckaddr*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1103
    functionDepth: 8
    functionLinenumber: 1103
    functionLinenumberEnd: 1116
    functionName: VRT_VSA_GetPtr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 1
    functionsReached:
    - VRT_fail
    - AN
    - VSA_GetPtr
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VRT_VSA_GetPtr(VRT_CTX, const struct suckaddr *sua, const unsigned
      char ** dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VPX_Format_Proxy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vsb
    - version
    - sac
    - sas
    - auth
    argTypes:
    - struct vsb*
    - VCL_INT
    - VCL_IP
    - VCL_IP
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1123
    functionName: VRT_Format_Proxy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 0
    functionsReached:
    - VPX_Format_Proxy
    linkageType: ''
    returnType: void
    signature: "void VRT_Format_Proxy(struct vsb *vsb, VCL_INT version, VCL_IP sac,
      VCL_IP sas,\n    VCL_STRING auth)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1141,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1148,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1155,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1156,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1160,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1163,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1169,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1176,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1179,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1186,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c:1190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - vep
    argTypes:
    - struct vrt_endpoint*
    assertStmts:
    - condition: (p == e)
      pos:
        line_end: 1189
        line_start: 1189
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    constantsTouched: []
    func_position:
      end: 1192
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1192
    functionName: VRT_Endpoint_Clone
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
    functionUses: 3
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - memcpy
    - calloc
    - assert
    - strlen
    linkageType: ''
    returnType: struct vrt_endpoint
    signature: 'struct vrt_endpoint *

      VRT_Endpoint_Clone(const struct vrt_endpoint * const vep)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:61,1
    - Dst: VSC_main_Summ_wrk
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:62,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:63,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: Pool_Sumstat
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 6
    functionsReached:
    - VSC_main_Summ_wrk
    - Lck_Unlock
    - memset
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void Pool_Sumstat(const struct worker *wrk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:70,1
    - Dst: VSC_main_Summ_wrk
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:72,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:73,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - wrk
    argTypes:
    - struct worker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: Pool_TrySumstat
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 3
    functionsReached:
    - VSC_main_Summ_wrk
    - Lck_Unlock
    - memset
    - Lck_Trylock
    linkageType: ''
    returnType: int
    signature: int Pool_TrySumstat(const struct worker *wrk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:87,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:88,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:90,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:91,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:93,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - task
    - prio
    argTypes:
    - struct pool_task*
    - enum task_prio
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: Pool_Task_Any
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FIRST
    - Lck_Unlock
    - VTAILQ_INSERT_TAIL
    - Pool_Task
    - Lck_Lock
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: int
    signature: int Pool_Task_Any(struct pool_task *task, enum task_prio prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:107,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nobj
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: Pool_PurgeStat
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 1
    functionsReached:
    - Lck_Unlock
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void Pool_PurgeStat(unsigned nobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:123,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:125,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:126,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:129,1
    - Dst: VSC_main_Summ_wrk
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:130,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:132,1
    - Dst: VSC_main_Summ_pool
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:133,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:134,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:135,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:137,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:138,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: pool_stat_summ
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 0
    functionsReached:
    - VSC_main_Summ_wrk
    - Lck_Unlock
    - AN
    - VSC_main_Summ_pool
    - CHECK_OBJ_NOTNULL
    - memset
    - AZ
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void pool_stat_summ(struct worker *wrk, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:154,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:157,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:158,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:159,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:160,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:161,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:163,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:164,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:166,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:167,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:167,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:168,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:168,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:170,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:171,1
    - Dst: SES_NewPool
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:173,1
    - Dst: VCA_NewPool
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pool_no
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 177
    functionName: pool_mkpool
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - SES_NewPool
    - AN
    - VTAILQ_EMPTY
    - calloc
    - PTOK
    - VCA_NewPool
    - pthread_create
    - pthread_cond_init
    - VTIM_sleep
    - ALLOC_OBJ
    - Lck_New
    linkageType: ''
    returnType: struct pool
    signature: 'struct pool *

      pool_mkpool(unsigned pool_no)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: THR_SetName
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:195,1
    - Dst: THR_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:196,1
    - Dst: pool_mkpool
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:202,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:204,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:205,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:206,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:212,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:213,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:214,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:215,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:216,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:219,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:221,1
    - Dst: VCA_DestroyPool
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:223,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:224,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:224,1
    - Dst: sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:227,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:230,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:231,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:232,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:239,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:240,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:240,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:241,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:241,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:242,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:243,1
    - Dst: SES_DestroyPool
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:244,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:245,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:246,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:249,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:252,1
    - Dst: return
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 253
    functionName: pool_poolherder
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 0
    functionsReached:
    - sleep
    - VTAILQ_FIRST
    - pool_mkpool
    - Lck_Delete
    - THR_SetName
    - VSL
    - pthread_join
    - VTAILQ_INSERT_TAIL
    - return
    - FREE_OBJ
    - Lck_Lock
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH
    - THR_Init
    - pthread_cond_destroy
    - CHECK_OBJ_NOTNULL
    - NEEDLESS
    - VCA_DestroyPool
    - PTOK
    - free
    - Lck_Unlock
    - SES_DestroyPool
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void pool_poolherder(void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:261,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:262,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:263,1
    - Dst: PAN_dump_struct
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:264,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:266,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:267,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:268,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:269,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:270,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:272,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: pan_pool
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 1
    functionsReached:
    - VSB_indent
    - PAN_dump_struct
    - VSB_printf
    - VSB_cat
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void pan_pool(struct vsb *vsb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:282,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:283,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:284,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:284,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: Pool_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
    functionUses: 1
    functionsReached:
    - PTOK
    - VTIM_sleep
    - pthread_create
    - Lck_New
    linkageType: ''
    returnType: void
    signature: void Pool_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - priv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: REQ_STEP
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_STEP(l, U, priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:90,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:91,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:92,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:93,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:94,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:96,1
    - Dst: http_expect_eq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:97,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:99,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:106,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:109,1
    - Dst: http_DoConnection
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:111,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:119,1
    - Dst: VFP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:120,1
    - Dst: struct req*::transport::req_body
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:122,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:125,1
    - Dst: HTTP_Clone
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 129
    functionName: cnt_transport
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - struct req*::transport::req_body
    - AN
    - WS_Snapshot
    - struct req*::transport::minimal_response
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - http_Unset
    - VFP_Setup
    - AZ
    - http_expect_eq
    - http_DoConnection
    - HTTP_Clone
    linkageType: ''
    returnType: void
    signature: void cnt_transport(struct worker *wrk, struct req *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:142,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:144,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:148,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:150,1
    - Dst: HTTP_Decode
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:151,1
    - Dst: http_ForceField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:154,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:157,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:157,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:158,1
    - Dst: ObjGetXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:158,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:160,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:160,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:169,1
    - Dst: floor
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:170,1
    - Dst: fmax
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:170,1
    - Dst: http_AppendHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:172,1
    - Dst: http_ViaHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:172,1
    - Dst: ObjCheckFlag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:175,1
    - Dst: RFC2616_Req_Gzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:176,1
    - Dst: RFC2616_Weaken_Etag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 179
    functionName: Resp_Setup_Deliver
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 1
    functionsReached:
    - http_AppendHeader
    - floor
    - http_ForceField
    - ObjGetXID
    - CHECK_OBJ_NOTNULL
    - HTTP_Decode
    - http_PrintfHeader
    - RFC2616_Req_Gzip
    - fmax
    - VXID
    - ObjGetAttr
    - http_ViaHeader
    - RFC2616_Weaken_Etag
    - HTTP_Setup
    - ObjCheckFlag
    linkageType: ''
    returnType: int
    signature: int Resp_Setup_Deliver(struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:186,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:190,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:192,1
    - Dst: http_PutResponse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:193,1
    - Dst: http_TimeHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:195,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:195,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:196,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:197,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:197,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: Resp_Setup_Synth
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - http_PutResponse
    - http_PrintfHeader
    - http_TimeHeader
    - AZ
    - W_TIM_real
    - VXID
    - http_SetHeader
    - HTTP_Setup
    linkageType: ''
    returnType: void
    signature: void Resp_Setup_Synth(struct req *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:213,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:214,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:215,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:216,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:217,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:218,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:220,1
    - Dst: ObjTouch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:222,1
    - Dst: Resp_Setup_Deliver
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:224,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:225,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:231,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:234,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:236,1
    - Dst: VCL_deliver_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:237,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:239,1
    - Dst: HSH_Cancel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:242,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:243,1
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:244,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:257,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:263,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:265,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:267,1
    - Dst: RFC2616_Do_Cond
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:267,1
    - Dst: http_PutResponse
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:268,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (req->objcore->refcnt > 0)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    - condition: (req->restarts <= req->max_restarts)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    - condition: (wrk->vpi->handling == VCL_RET_DELIVER)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    constantsTouched: []
    func_position:
      end: 272
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 272
    functionName: cnt_deliver
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - http_Teardown
    - AN
    - CHECK_OBJ_NOTNULL
    - http_PutResponse
    - ObjTouch
    - IS_TOPREQ
    - Resp_Setup_Deliver
    - HSH_Cancel
    - AZ
    - assert
    - W_TIM_real
    - VCL_deliver_method
    - WRONG
    - VSLb_ts_req
    - http_GetStatus
    - RFC2616_Do_Cond
    - http_ForceHeader
    - HSH_DerefObjCore
    linkageType: ''
    returnType: void
    signature: void cnt_deliver(struct worker *wrk, struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:283,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:284,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:286,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:287,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:289,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:290,1
    - Dst: Req_Rollback
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 305
    functionName: cnt_vclfail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    - VCL_Req2Ctx
    - CHECK_OBJ_NOTNULL
    - AZ
    - Req_Rollback
    linkageType: ''
    returnType: void
    signature: void cnt_vclfail(struct worker *wrk, struct req *req)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:320,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:321,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:323,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:324,1
    - Dst: Resp_Setup_Synth
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:331,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:334,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:335,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:337,1
    - Dst: VCL_synth_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:338,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:340,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:340,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:342,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:342,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:349,1
    - Dst: VRB_Ignore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:350,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:352,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:354,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:354,1
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:355,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:367,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:368,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:372,1
    - Dst: http_DoConnection
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:376,1
    - Dst: http_DoConnection
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:378,1
    - Dst: VRB_Ignore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:381,1
    - Dst: Resp_l_storage
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:384,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:389,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:390,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:391,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:392,1
    - Dst: ObjGetSpace
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:395,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:402,1
    - Dst: ObjExtend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:403,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:407,1
    - Dst: ObjSetU64
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:407,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:407,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:410,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:411,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:414,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:416,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:416,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:418,1
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:419,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 83
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (wrk->vpi->handling == VCL_RET_DELIVER)
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    - condition: (szl >= 0)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    constantsTouched: []
    func_position:
      end: 425
      start: 312
    functionDepth: 12
    functionLinenumber: 312
    functionLinenumberEnd: 425
    functionName: cnt_synth
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - ObjSetU64
    - ObjExtend
    - HTTP_Setup
    - VSLb
    - http_Teardown
    - AN
    - memcpy
    - Resp_Setup_Synth
    - VSLb_ts_req
    - Resp_l_storage
    - VSB_data
    - CHECK_OBJ_NOTNULL
    - struct req*::transport::minimal_response
    - ObjGetSpace
    - AZ
    - assert
    - W_TIM_real
    - VRB_Ignore
    - VSB_len
    - http_DoConnection
    - VSB_new_auto
    - HSH_DerefObjCore
    - HSH_DerefBoc
    - VCL_synth_method
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void cnt_synth(struct worker *wrk, struct req *req)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:440,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:441,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:442,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:443,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:444,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:445,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:446,1
    - Dst: http_DoConnection
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:450,1
    - Dst: http_DoConnection
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:452,1
    - Dst: HSH_RefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:455,1
    - Dst: ObjWaitState
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:457,1
    - Dst: http_GetContentLength
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:458,1
    - Dst: http_GetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:460,1
    - Dst: http_method_eq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:461,1
    - Dst: ObjGetLen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:466,1
    - Dst: VDP_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:475,1
    - Dst: resp_Get_Filter_List
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:477,1
    - Dst: VCL_StackVDP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:479,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:480,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:483,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:487,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:490,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:500,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:502,1
    - Dst: struct req*::transport::deliver
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:507,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:511,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (dnxt == VTR_D_DONE)
      pos:
        line_end: 510
        line_start: 510
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    constantsTouched: []
    func_position:
      end: 514
      start: 432
    functionDepth: 7
    functionLinenumber: 432
    functionLinenumberEnd: 514
    functionName: cnt_transmit
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - resp_Get_Filter_List
    - VDP_Close
    - CHECK_OBJ_NOTNULL
    - http_method_eq
    - http_Unset
    - ObjWaitState
    - HSH_RefBoc
    - http_GetContentLength
    - VCL_StackVDP
    - AZ
    - http_PrintfHeader
    - assert
    - http_DoConnection
    - VDP_Init
    - struct req*::transport::deliver
    - http_GetStatus
    - ObjGetLen
    - VSLb
    linkageType: ''
    returnType: void
    signature: void cnt_transmit(struct worker *wrk, struct req *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:520,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:521,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:523,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:523,1
    - Dst: HSH_DerefBoc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:532,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:536,1
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 543
    functionName: cnt_finish
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - HSH_DerefBoc
    - http_Teardown
    - CHECK_OBJ_NOTNULL
    - W_TIM_real
    - VSLb_ts_req
    - HSH_DerefObjCore
    linkageType: ''
    returnType: void
    signature: void cnt_finish(struct worker *wrk, struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:553,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:554,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:555,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:556,1
    - Dst: VRB_Ignore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:559,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:564,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 550
    functionDepth: 12
    functionLinenumber: 550
    functionLinenumberEnd: 571
    functionName: cnt_fetch
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - HSH_DerefObjCore
    - VRB_Ignore
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void cnt_fetch(struct worker *wrk, struct req *req)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:585,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:586,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:587,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:589,1
    - Dst: VRY_Prep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:591,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:595,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:598,1
    - Dst: HSH_Lookup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:601,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:611,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:613,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:616,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:616,1
    - Dst: struct req*::vcf::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:619,1
    - Dst: VRY_Finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:624,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:626,1
    - Dst: VRY_Finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:627,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:630,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:632,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:633,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:642,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:643,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:649,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:651,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:652,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:654,1
    - Dst: VCL_hit_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:656,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:661,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:662,1
    - Dst: VBF_Fetch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:664,1
    - Dst: VRB_Ignore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:668,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:691,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:695,1
    - Dst: HSH_Withdraw
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:698,1
    - Dst: VRY_Clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:699,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 96
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (lr == HSH_HIT || lr == HSH_GRACE)
      pos:
        line_end: 648
        line_start: 648
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    - condition: (wrk->strangelove >= 0)
      pos:
        line_end: 610
        line_start: 610
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    constantsTouched: []
    func_position:
      end: 703
      start: 579
    functionDepth: 13
    functionLinenumber: 579
    functionLinenumberEnd: 703
    functionName: cnt_lookup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - VRY_Clear
    - HSH_Withdraw
    - AN
    - CHECK_OBJ_NOTNULL
    - VBF_Fetch
    - HSH_DerefObjCore
    - struct req*::vcf::func
    - VRY_Prep
    - AZ
    - assert
    - W_TIM_real
    - VRB_Ignore
    - WRONG
    - VRY_Finish
    - VSLb_ts_req
    - HSH_Lookup
    - VCL_hit_method
    - VSLb
    linkageType: ''
    returnType: void
    signature: void cnt_lookup(struct worker *wrk, struct req *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:713,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:714,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:715,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:716,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:717,1
    - Dst: VCL_miss_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:719,1
    - Dst: VBF_Fetch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:723,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:725,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:741,1
    - Dst: VRY_Clear
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:743,1
    - Dst: HSH_DerefObjCore
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:745,1
    - Dst: HSH_Withdraw
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 710
    functionDepth: 13
    functionLinenumber: 710
    functionLinenumberEnd: 748
    functionName: cnt_miss
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - VRY_Clear
    - HSH_Withdraw
    - AN
    - CHECK_OBJ_NOTNULL
    - VBF_Fetch
    - VCL_miss_method
    - WRONG
    - CHECK_OBJ_ORNULL
    - HSH_DerefObjCore
    linkageType: ''
    returnType: void
    signature: void cnt_miss(struct worker *wrk, struct req *req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:758,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:759,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:760,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:761,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:762,1
    - Dst: VCL_pass_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:764,1
    - Dst: HSH_Private
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:777,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:778,1
    - Dst: VBF_Fetch
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:779,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 755
    functionDepth: 13
    functionLinenumber: 755
    functionLinenumberEnd: 786
    functionName: cnt_pass
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VBF_Fetch
    - HSH_Private
    - AZ
    - WRONG
    - VCL_pass_method
    linkageType: ''
    returnType: void
    signature: void cnt_pass(struct worker *wrk, struct req *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:798,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:799,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:800,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:801,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:802,1
    - Dst: VBO_GetBusyObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:805,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:806,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:807,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:807,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:808,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:808,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:809,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:809,1
    - Dst: THR_SetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:810,1
    - Dst: SES_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:812,1
    - Dst: HTTP_Setup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:814,1
    - Dst: http_FilterReq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:815,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:816,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:816,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:817,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:820,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:826,1
    - Dst: VCL_pipe_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:829,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:837,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:837,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:838,1
    - Dst: V1P_Enter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:839,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:840,1
    - Dst: SES_Close
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:846,1
    - Dst: VDI_Http1Pipe
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:846,1
    - Dst: V1P_Leave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:848,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:858,1
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:860,1
    - Dst: SES_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:861,1
    - Dst: VBO_ReleaseBusyObj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:862,1
    - Dst: THR_SetBusyobj
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 793
    functionDepth: 9
    functionLinenumber: 793
    functionLinenumberEnd: 865
    functionName: cnt_pipe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - V1P_Enter
    - SES_Rel
    - VCL_pipe_method
    - VBO_ReleaseBusyObj
    - HTTP_Setup
    - VSLb
    - VBO_GetBusyObj
    - WS_Overflowed
    - AN
    - http_Teardown
    - http_FilterReq
    - WRONG
    - VSLb_ts_req
    - http_ForceHeader
    - CHECK_OBJ_NOTNULL
    - http_PrintfHeader
    - AZ
    - W_TIM_real
    - SES_Close
    - VDI_Http1Pipe
    - V1P_Leave
    - VSLb_ts_busyobj
    - http_SetHeader
    - SES_Ref
    - VXID
    - THR_SetBusyobj
    linkageType: ''
    returnType: void
    signature: void cnt_pipe(struct worker *wrk, struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:875,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:876,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:877,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:878,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:881,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:886,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:886,1
    - Dst: VSL_ChgId
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:887,1
    - Dst: VXID_Get
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:888,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 894
    functionName: cnt_restart
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSL_ChgId
    - AZ
    - W_TIM_real
    - VSLb_ts_req
    - VXID_Get
    - VSLb
    linkageType: ''
    returnType: void
    signature: void cnt_restart(struct worker *wrk, struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_AppendHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:914,1
    - Dst: http_AppendHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:915,1
    - Dst: http_ViaHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:915,1
    - Dst: http_CollectHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:916,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:919,1
    - Dst: VCL_DefaultDirector
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:920,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - req
    - ci
    argTypes:
    - struct req*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 940
    functionName: cnt_recv_prep
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - http_AppendHeader
    - http_CollectHdr
    - VRT_Assign_Backend
    - http_ViaHeader
    - FEATURE
    - VCL_DefaultDirector
    linkageType: ''
    returnType: void
    signature: void cnt_recv_prep(struct req *req, const char *ci)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:955,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:956,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:957,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:958,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:959,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:960,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:962,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:962,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:963,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:963,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:964,1
    - Dst: isnan
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:964,1
    - Dst: Req_LogStart
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:966,1
    - Dst: http_VSL_log
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:967,1
    - Dst: http_CountHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:969,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:970,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:973,1
    - Dst: http_CountHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:977,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:978,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:981,1
    - Dst: cnt_recv_prep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:985,1
    - Dst: VCL_recv_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:992,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1001,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1001,1
    - Dst: cnt_recv_prep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1002,1
    - Dst: VCL_recv_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1003,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1008,1
    - Dst: struct req*::transport::minimal_response
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1017,1
    - Dst: RFC2616_Req_Gzip
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1027,1
    - Dst: http_ForceHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1028,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1030,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1034,1
    - Dst: VCL_hash_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1035,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1039,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1040,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1044,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1058,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1059,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1064,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1085,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 107
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (WS_Snapshot(req->ws) == req->ws_req)
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    - condition: (wrk->vpi->handling == VCL_RET_LOOKUP)
      pos:
        line_end: 1038
        line_start: 1038
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    constantsTouched: []
    func_position:
      end: 1088
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 1088
    functionName: cnt_recv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - VCL_recv_method
    - VSLb
    - AN
    - WS_Snapshot
    - http_Unset
    - isnan
    - http_CountHdr
    - WRONG
    - http_VSL_log
    - http_ForceHeader
    - VSHA256_Final
    - CHECK_OBJ_NOTNULL
    - struct req*::transport::minimal_response
    - VCL_hash_method
    - IS_TOPREQ
    - AZ
    - assert
    - RFC2616_Req_Gzip
    - Req_LogStart
    - cnt_recv_prep
    - VSHA256_Init
    linkageType: ''
    returnType: void
    signature: void cnt_recv(struct worker *wrk, struct req *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1102,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1103,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1104,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1105,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1107,1
    - Dst: VRY_Prep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1109,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1111,1
    - Dst: HSH_Lookup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1113,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1114,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1115,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1116,1
    - Dst: VRY_Finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1117,1
    - Dst: HSH_Purge
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1119,1
    - Dst: HSH_Withdraw
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1121,1
    - Dst: VCL_purge_method
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1123,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (lr == HSH_MISS)
      pos:
        line_end: 1113
        line_start: 1113
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    constantsTouched: []
    func_position:
      end: 1138
      start: 1097
    functionDepth: 6
    functionLinenumber: 1097
    functionLinenumberEnd: 1138
    functionName: cnt_purge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - HSH_Withdraw
    - AN
    - CHECK_OBJ_NOTNULL
    - HSH_Purge
    - VRY_Prep
    - AZ
    - assert
    - VCL_purge_method
    - WRONG
    - VRY_Finish
    - HSH_Lookup
    linkageType: ''
    returnType: void
    signature: void cnt_purge(struct worker *wrk, struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1151,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1153,1
    - Dst: VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1154,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - req
    - state
    argTypes:
    - struct req*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1148
    functionDepth: 4
    functionLinenumber: 1148
    functionLinenumberEnd: 1156
    functionName: cnt_diag
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 0
    functionsReached:
    - VSL_Flush
    - VXID
    - CHECK_OBJ_NOTNULL
    - VSLb
    linkageType: ''
    returnType: void
    signature: void cnt_diag(struct req *req, const char *state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1162,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1163,1
    - Dst: VCL_Refresh
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1169,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1172,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1172,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1172,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1158
    functionDepth: 6
    functionLinenumber: 1158
    functionLinenumberEnd: 1176
    functionName: CNT_Embark
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 3
    functionsReached:
    - AN
    - VCL_Name
    - CHECK_OBJ_NOTNULL
    - VSLbs
    - TOSTRAND
    - VCL_Refresh
    linkageType: ''
    returnType: void
    signature: void CNT_Embark(struct worker *wrk, struct req *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1185,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1188,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1190,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1191,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1192,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1197,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1202,1
    - Dst: VXID_TAG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1202,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1203,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1210,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1211,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1212,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1213,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1214,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1216,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1217,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1218,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1219,1
    - Dst: cnt_diag
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1220,1
    - Dst: struct req*::req_step::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1221,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1222,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1226,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1227,1
    - Dst: IS_TOPREQ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1228,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1229,1
    - Dst: VCL_Recache
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1231,1
    - Dst: VCL_TaskLeave
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1233,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1234,1
    - Dst: IS_NO_VXID
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1234,1
    - Dst: VRB_Free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1235,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1236,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1239,1
    - Dst: WS_IsReserved
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c:1239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts:
    - condition: "(\n\t    req->req_step == R_STP_LOOKUP ||\n\t    req->req_step ==
        R_STP_FINISH ||\n\t    req->req_step == R_STP_TRANSPORT)"
      pos:
        line_end: 1199
        line_start: 1196
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    - condition: (nxt == REQ_FSM_DISEMBARK || !WS_IsReserved(req->ws))
      pos:
        line_end: 1238
        line_start: 1238
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    - condition: (!IS_NO_VXID(req->vsl->wid))
      pos:
        line_end: 1233
        line_start: 1233
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    constantsTouched: []
    func_position:
      end: 1241
      start: 1178
    functionDepth: 5
    functionLinenumber: 1178
    functionLinenumberEnd: 1241
    functionName: CNT_Request
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
    functionUses: 3
    functionsReached:
    - AN
    - VRB_Free
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VCL_Req2Ctx
    - IS_TOPREQ
    - VXID_TAG
    - VCL_Recache
    - assert
    - IS_NO_VXID
    - VRT_Assign_Backend
    - DO_DEBUG
    - WS_IsReserved
    - cnt_diag
    - CHECK_OBJ_ORNULL
    - VCL_TaskLeave
    - struct req*::req_step::func
    linkageType: ''
    returnType: enum req_fsm_nxt
    signature: enum req_fsm_nxt CNT_Request(struct req *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: VCL_Return_Name
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      VCL_Return_Name(unsigned r)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: VCL_RET_MAC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_RET_MAC(l, U, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: VCL_Method_Name
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      VCL_Method_Name(unsigned m)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - func
    - ','
    - upper
    - ','
    - typ
    - ','
    - bitmap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: VCL_MET_MAC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_MET_MAC(func, upper, typ, bitmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:86,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:88,1
    - Dst: VCL_Update
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vcc
    argTypes:
    - struct vcl**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: VCL_Refresh
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached:
    - ASSERT_VCL_ACTIVE
    - VCL_Update
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void VCL_Refresh(struct vcl **vcc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:99,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:100,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:101,1
    - Dst: ASSERT_VCL_ACTIVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:102,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:105,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - wrk
    - vclp
    argTypes:
    - struct worker*
    - struct vcl**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: VCL_Recache
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 2
    functionsReached:
    - ASSERT_VCL_ACTIVE
    - VCL_Rel
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCL_Recache(const struct worker *wrk, struct vcl **vclp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:118,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:119,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:120,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:121,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - struct vcl*
    assertStmts:
    - condition: (vcl->busy > 0)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    - condition: (!vcl->temp->is_cold)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: VCL_Ref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 2
    functionsReached:
    - assert
    - Lck_Unlock
    - Lck_Lock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCL_Ref(struct vcl *vcl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:131,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:132,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:133,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vcc
    argTypes:
    - struct vcl**
    assertStmts:
    - condition: (vcl->busy > 0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: VCL_Rel
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 8
    functionsReached:
    - assert
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - Lck_Lock
    linkageType: ''
    returnType: void
    signature: void VCL_Rel(struct vcl **vcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:148,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:149,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:150,1
    - Dst: Lck_Delete
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:151,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:152,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:153,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - vdir
    argTypes:
    - struct vcldir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: vcldir_free
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - Lck_Delete
    - AZ
    - free
    linkageType: ''
    returnType: void
    signature: void vcldir_free(struct vcldir *vdir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:161,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:162,1
    - Dst: vcldir_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - vdir
    argTypes:
    - struct vcldir*
    assertStmts:
    - condition: (vdir->refcnt == 1)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: vcldir_surplus
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - assert
    - vcldir_free
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND vcldir_surplus(struct vcldir *vdir)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:179,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:180,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:181,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:183,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:186,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:189,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:190,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:192,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:197,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:198,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:199,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:199,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:200,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:201,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:202,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:203,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:204,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:204,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:205,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:205,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:206,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:211,1
    - Dst: Lck_New
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:214,1
    - Dst: vcldir_surplus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:230,1
    - Dst: Lck_Trylock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:232,1
    - Dst: usleep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:234,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:237,1
    - Dst: Lck_AssertHeld
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:240,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:243,1
    - Dst: VDI_Event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:245,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:246,1
    - Dst: vcldir_surplus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:249,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:252,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 3
    argNames:
    - m
    - priv
    - fmt
    argTypes:
    - struct vdi_methods*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 255
    functionName: VRT_AddDirector
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached:
    - vcldir_surplus
    - VDI_Event
    - VSB_finish
    - VTIM_real
    - VSB_printf
    - Lck_Trylock
    - DO_DEBUG
    - VTAILQ_INSERT_TAIL
    - VCL_Name
    - Lck_New
    - AN
    - REPLACE
    - Lck_Lock
    - WRONG
    - VSB_data
    - va_end
    - CHECK_OBJ_NOTNULL
    - AZ
    - VSB_len
    - Lck_AssertHeld
    - va_start
    - VSB_new_auto
    - Lck_Unlock
    - usleep
    - VSB_vprintf
    - ALLOC_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: VCL_BACKEND
    signature: "VCL_BACKEND VRT_AddDirector(VRT_CTX, const struct vdi_methods *m,
      void *priv,\n    const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:262,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:264,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:265,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - VCL_BACKEND
    assertStmts:
    - condition: (vdir->refcnt == 1)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 268
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 268
    functionName: VRT_StaticDirector
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void VRT_StaticDirector(VCL_BACKEND b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:276,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:277,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:278,1
    - Dst: VDI_Event
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:281,1
    - Dst: struct vcldir*::methods::destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:283,1
    - Dst: vcldir_free
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - vdir
    - temp
    argTypes:
    - struct vcldir*
    - struct vcltemp*
    assertStmts:
    - condition: (vdir->refcnt == 0)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 285
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 285
    functionName: vcldir_retire
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 2
    functionsReached:
    - AN
    - vcldir_free
    - VDI_Event
    - CHECK_OBJ_NOTNULL
    - assert
    - struct vcldir*::methods::destroy
    linkageType: ''
    returnType: void
    signature: void vcldir_retire(struct vcldir *vdir, const struct vcltemp *temp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:292,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:293,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:295,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:296,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:298,1
    - Dst: vdire_resign
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - vdir
    argTypes:
    - struct vcldir*
    assertStmts:
    - condition: (vdir->refcnt > 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 303
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 303
    functionName: vcldir_deref
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - CHECK_OBJ_NOTNULL
    - vdire_resign
    - AZ
    - assert
    - Lck_Lock
    linkageType: ''
    returnType: int
    signature: int vcldir_deref(struct vcldir *vdir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:311,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:314,1
    - Dst: struct vcldir*::methods::release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:317,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:321,1
    - Dst: vcldir_deref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:321,1
    - Dst: vcldir_deref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - VCL_BACKEND*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: VRT_DelDirector
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - vcldir_deref
    - AZ
    - struct vcldir*::methods::release
    linkageType: ''
    returnType: void
    signature: void VRT_DelDirector(VCL_BACKEND *dirp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:333,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:334,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:335,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:342,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:344,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:345,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:347,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:352,1
    - Dst: vcldir_deref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - VCL_BACKEND*
    - VCL_BACKEND
    assertStmts:
    - condition: (vdir->refcnt > 0)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 356
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 356
    functionName: VRT_Assign_Backend
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 9
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - vcldir_deref
    - assert
    - Lck_Lock
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void VRT_Assign_Backend(VCL_BACKEND *dst, VCL_BACKEND src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:363,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:365,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: VRT_DisableDirector
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached:
    - VTIM_real
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRT_DisableDirector(VCL_BACKEND d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:379,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:380,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:382,1
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:383,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:386,1
    - Dst: vdire_start_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:390,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:391,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:393,1
    - Dst: vdire_end_iter
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - name
    argTypes:
    - VCL_STRING
    assertStmts:
    - condition: (ctx->method & VCL_MET_TASK_H)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 401
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 401
    functionName: VRT_LookupDirector
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - vdire_start_iter
    - AN
    - CHECK_OBJ_NOTNULL
    - ASSERT_CLI
    - vdire_end_iter
    - strcmp
    - assert
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VRT_LookupDirector(VRT_CTX, VCL_STRING name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:409,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - struct vcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: VCL_DefaultDirector
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VCL_DefaultDirector(const struct vcl *vcl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - struct vcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: VCL_Name
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 5
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VCL_Name(const struct vcl *vcl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:426,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vcl
    argTypes:
    - struct vcl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: VCL_DefaultProbe
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_PROBE
    signature: VCL_PROBE VCL_DefaultProbe(const struct vcl *vcl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:436,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:439,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:441,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:442,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:443,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:445,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:447,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:448,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:449,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:450,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:452,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:453,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 455
    functionName: VRT_CTX_Assert
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 1
    functionsReached:
    - WS_Assert
    - AN
    - CHECK_OBJ_NOTNULL
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void VRT_CTX_Assert(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:462,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:463,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:465,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:466,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:468,1
    - Dst: VCL_Ref
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:470,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:472,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:473,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 477
    functionName: VRT_VCL_Prevent_Cold
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - VCL_Ref
    - REPLACE
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vclref
    signature: 'struct vclref *

      VRT_VCL_Prevent_Cold(VRT_CTX, const char *desc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:485,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:487,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:489,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:490,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:490,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:491,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:492,1
    - Dst: VCL_Rel
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:494,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:496,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - refp
    argTypes:
    - struct vclref**
    assertStmts:
    - condition: (!VTAILQ_EMPTY(&vcl->ref_list))
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 498
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 498
    functionName: VRT_VCL_Allow_Cold
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - VCL_Rel
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - REPLACE
    - assert
    - Lck_Lock
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void VRT_VCL_Allow_Cold(struct vclref **refp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:506,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:507,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:508,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:509,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:512,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:513,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:515,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:516,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:518,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:520,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:521,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - desc
    argTypes:
    - char*
    assertStmts:
    - condition: (vcl->temp->is_warm)
      pos:
        line_end: 512
        line_start: 512
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 526
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 526
    functionName: VRT_VCL_Prevent_Discard
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - AN
    - CHECK_OBJ_NOTNULL
    - REPLACE
    - ASSERT_CLI
    - assert
    - Lck_Lock
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vclref
    signature: 'struct vclref *

      VRT_VCL_Prevent_Discard(VRT_CTX, const char *desc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:534,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:536,1
    - Dst: Lck_Lock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:544,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:545,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:545,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:546,1
    - Dst: Lck_Unlock
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:549,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:551,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - refp
    argTypes:
    - struct vclref**
    assertStmts:
    - condition: (!VTAILQ_EMPTY(&vcl->ref_list))
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 553
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 553
    functionName: VRT_VCL_Allow_Discard
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - Lck_Unlock
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - REPLACE
    - assert
    - Lck_Lock
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void VRT_VCL_Allow_Discard(struct vclref **refp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:572,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:573,1
    - Dst: FEATURE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:575,1
    - Dst: struct req*::transport::poll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:579,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:582,1
    - Dst: W_TIM_real
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 587
    functionName: req_poll
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - struct req*::transport::poll
    - CHECK_OBJ_NOTNULL
    - W_TIM_real
    - VSLb_ts_req
    - FEATURE
    linkageType: ''
    returnType: int
    signature: int req_poll(struct worker *wrk, struct req *req)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:606,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:607,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:609,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:610,1
    - Dst: VCL_Bo2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:611,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:615,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:616,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:617,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:618,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:619,1
    - Dst: req_poll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:620,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:622,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:624,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:628,1
    - Dst: VBITMAP_SZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:629,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:630,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:632,1
    - Dst: vbit_init
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:633,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:636,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:639,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:640,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:640,1
    - Dst: VCL_Method_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:640,1
    - Dst: func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:641,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:642,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:643,1
    - Dst: VCL_Return_Name
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:643,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:652,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:652,1
    - Dst: WS_Reset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 7
    argNames:
    - wrk
    - req
    - bo
    - specific
    - method
    - func
    - track_call
    argTypes:
    - struct worker*
    - struct req*
    - struct busyobj*
    - void*
    - unsigned
    - vcl_func_f*
    - unsigned
    assertStmts:
    - condition: (ctx.now != 0)
      pos:
        line_end: 623
        line_start: 623
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    - condition: (aws == WS_Snapshot(wrk->aws))
      pos:
        line_end: 651
        line_start: 651
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    - condition: (method == VCL_MET_PIPE)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    constantsTouched: []
    func_position:
      end: 655
      start: 596
    functionDepth: 6
    functionLinenumber: 596
    functionLinenumberEnd: 655
    functionName: vcl_call_method
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - vbit_init
    - VCL_Method_Name
    - AN
    - WS_Snapshot
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VCL_Bo2Ctx
    - VCL_Req2Ctx
    - WS_Alloc
    - req_poll
    - VCL_Return_Name
    - assert
    - WS_Reset
    - func
    - VSLbs
    - VBITMAP_SZ
    - CHECK_OBJ
    - TOSTRAND
    linkageType: ''
    returnType: void
    signature: "void vcl_call_method(struct worker *wrk, struct req *req, struct busyobj
      *bo,\n    void *specific, unsigned method, vcl_func_f *func, unsigned track_call)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - func
    - ','
    - upper
    - ','
    - typ
    - ','
    - bitmap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 670
    functionName: VCL_MET_MAC
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_MET_MAC(func, upper, typ, bitmap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:682,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:683,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:685,1
    - Dst: VCL_SUB::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:686,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:692,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:698,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - sub
    argTypes:
    - VCL_SUB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 708
    functionName: VRT_check_call
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VCL_SUB::func
    - WS_Printf
    - INCOMPL
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING VRT_check_call(VRT_CTX, VCL_SUB sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:714,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:715,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:717,1
    - Dst: VRT_handled
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:717,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:718,1
    - Dst: VCL_SUB::func
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sub
    argTypes:
    - VCL_SUB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 720
    functionName: VRT_call
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_handled
    - CHECK_OBJ_NOTNULL
    - AZ
    - VCL_SUB::func
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID VRT_call(VRT_CTX, VCL_SUB sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - n
    - ','
    - a
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: BODYSTATUS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BODYSTATUS(U, l, n, a, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: HTTPH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPH(a, b, c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:190,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:200,1
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 204
    functionName: http_hdr_flags
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - http_hdr_at
    - AN
    - pdiff
    linkageType: ''
    returnType: struct http_hdrflg
    signature: 'struct http_hdrflg *

      http_hdr_flags(const char *b, const char *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_hdr_flags
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:213,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:214,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - flg
    argTypes:
    - hdr_t
    - int
    assertStmts:
    - condition: (*f->hdr == hdr)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: http_init_hdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - assert
    - http_hdr_flags
    - AN
    linkageType: ''
    returnType: void
    signature: void http_init_hdr(hdr_t hdr, int flg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:227,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:228,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:229,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:231,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:231,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:232,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:232,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: HTTP_Init
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - AN
    - VSB_finish
    - VSB_printf
    - REPLACE
    - AZ
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void HTTP_Init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: HTTPH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HTTPH(a, b, c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:250,1
    - Dst: VXID_TAG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:250,1
    - Dst: VSLbt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - hp
    - hdr
    argTypes:
    - struct http*
    - unsigned
    assertStmts:
    - condition: (VXID_TAG(hp->vsl->wid))
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 7
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: http_VSLH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - assert
    - VSLbt
    - VXID_TAG
    linkageType: ''
    returnType: void
    signature: void http_VSLH(const struct http *hp, unsigned hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:267,1
    - Dst: VXID_TAG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:267,1
    - Dst: VSLbt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hp
    - hdr
    argTypes:
    - struct http*
    - unsigned
    assertStmts:
    - condition: (hdr >= HTTP_HDR_FIRST)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - condition: (VXID_TAG(hp->vsl->wid))
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 7
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: http_VSLH_del
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - assert
    - VSLbt
    - VXID_TAG
    linkageType: ''
    returnType: void
    signature: void http_VSLH_del(const struct http *hp, unsigned hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_VSLH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 8
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: http_VSL_log
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 3
    functionsReached:
    - http_VSLH
    linkageType: ''
    returnType: void
    signature: void http_VSL_log(const struct http *hp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WS_Id
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:294,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:295,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: http_fail
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - WS_MarkOverflow
    - VSLb
    - WS_Id
    linkageType: ''
    returnType: void
    signature: void http_fail(const struct http *hp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - status
    - sstr
    argTypes:
    - unsigned
    - char**
    assertStmts:
    - condition: (status >= 100)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: http_Status2Reason
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 4
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      http_Status2Reason(unsigned status, const char **sstr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nhttp
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: HTTP_estimate
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - PRNDUP
    linkageType: ''
    returnType: unsigned
    signature: unsigned HTTP_estimate(unsigned nhttp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:349,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - p
    - nhttp
    - len
    argTypes:
    - void*
    - uint16_t
    - unsigned
    assertStmts:
    - condition: ((unsigned char*)p + len == hp->hdf + PRNDUP(nhttp))
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 351
    functionName: HTTP_create
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - assert
    - PRNDUP
    linkageType: ''
    returnType: struct http
    signature: 'struct http *

      HTTP_create(void *p, uint16_t nhttp, unsigned len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_Teardown
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - hp
    - ws
    - vsl
    - whence
    argTypes:
    - struct http*
    - struct ws*
    - struct vsl_log*
    - enum VSL_tag_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: HTTP_Setup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 10
    functionsReached:
    - http_Teardown
    linkageType: ''
    returnType: void
    signature: "void HTTP_Setup(struct http *hp, struct ws *ws, struct vsl_log *vsl,\n
      \   enum VSL_tag_e  whence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:377,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:378,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:379,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:380,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: http_Teardown
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 6
    functionsReached:
    - memset
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void http_Teardown(struct http *hp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:394,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:395,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - to
    - fm
    argTypes:
    - struct http*
    - struct http*
    assertStmts:
    - condition: (fm->nhd <= to->shd)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: HTTP_Dup
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: void HTTP_Dup(struct http *to, const struct http * fm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_Dup
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to
    - fm
    argTypes:
    - struct http*
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: HTTP_Clone
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 4
    functionsReached:
    - HTTP_Dup
    linkageType: ''
    returnType: void
    signature: void HTTP_Clone(struct http *to, const struct http * const fm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:433,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:435,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 7
    argCount: 1
    argNames:
    - to
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 441
    functionName: http_Proto
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - vct_isdigit
    linkageType: ''
    returnType: void
    signature: void http_Proto(struct http *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:449,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:450,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:451,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:452,1
    - Dst: http_VSLH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:454,1
    - Dst: http_Proto
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:456,1
    - Dst: http_SetWellKnownMethod
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - to
    - n
    - header
    argTypes:
    - struct http*
    - unsigned
    - char*
    assertStmts:
    - condition: (n < to->nhd)
      pos:
        line_end: 448
        line_start: 448
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 459
      start: 445
    functionDepth: 8
    functionLinenumber: 445
    functionLinenumberEnd: 459
    functionName: http_SetH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 5
    functionsReached:
    - AN
    - http_VSLH
    - assert
    - TRUST_ME
    - http_SetWellKnownMethod
    - strchr
    - http_Proto
    linkageType: ''
    returnType: void
    signature: void http_SetH(struct http *to, unsigned n, const char *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:468,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:469,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:471,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:472,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:472,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - to
    - field
    - string
    argTypes:
    - struct http*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 463
    functionDepth: 9
    functionLinenumber: 463
    functionLinenumberEnd: 476
    functionName: http_PutField
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - http_fail
    - http_SetH
    - WS_Copy
    - CHECK_OBJ_NOTNULL
    - VSLbs
    - TOSTRAND
    linkageType: ''
    returnType: void
    signature: void http_PutField(struct http *to, int field, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:484,1
    - Dst: CHECK_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:485,1
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hh
    - hdr
    argTypes:
    - txt*
    - hdr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 487
    functionName: http_IsHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - http_hdr_at
    - CHECK_HDR
    - Tcheck
    linkageType: ''
    returnType: int
    signature: int http_IsHdr(const txt *hh, hdr_t hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:497,1
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:502,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - hp
    - l
    - hdr
    argTypes:
    - struct http*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 507
    functionName: http_findhdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - http_hdr_at
    - Tcheck
    linkageType: ''
    returnType: unsigned
    signature: unsigned http_findhdr(const struct http *hp, unsigned l, const char
      *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:519,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:522,1
    - Dst: http_IsHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hp
    - hdr
    argTypes:
    - struct http*
    - hdr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: http_CountHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - http_IsHdr
    - Tcheck
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned http_CountHdr(const struct http *hp, hdr_t hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_CollectHdrSep
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hp
    - hdr
    argTypes:
    - struct http*
    - hdr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: http_CollectHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - http_CollectHdrSep
    linkageType: ''
    returnType: void
    signature: void http_CollectHdr(struct http *hp, hdr_t hdr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:554,1
    - Dst: CHECK_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:555,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:557,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:562,1
    - Dst: http_findhdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:564,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:569,1
    - Dst: http_IsHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:570,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:580,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:581,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:583,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:585,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:586,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:587,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:588,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:591,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:595,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:596,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:599,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:602,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:608,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:609,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:609,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:610,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:613,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:615,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:621,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:623,1
    - Dst: WS_ReleaseP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:625,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 3
    argNames:
    - hp
    - hdr
    - sep
    argTypes:
    - struct http*
    - hdr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 547
    functionDepth: 6
    functionLinenumber: 547
    functionLinenumberEnd: 626
    functionName: http_CollectHdrSep
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - WS_Overflowed
    - http_fail
    - AN
    - http_findhdr
    - CHECK_OBJ_NOTNULL
    - WS_Release
    - WS_ReserveAll
    - memcpy
    - vct_issp
    - VSLbs
    - TOSTRAND
    - WS_ReleaseP
    - http_IsHdr
    - WS_Reservation
    - Tlen
    - strlen
    - CHECK_HDR
    - Tcheck
    linkageType: ''
    returnType: void
    signature: void http_CollectHdrSep(struct http *hp, hdr_t hdr, const char *sep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:636,1
    - Dst: http_findhdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:637,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - hp
    - hdr
    - ptr
    argTypes:
    - struct http*
    - hdr_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 650
    functionName: http_GetHdr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 23
    functionsReached:
    - http_findhdr
    - vct_issp
    - CHECK_HDR
    linkageType: ''
    returnType: int
    signature: int http_GetHdr(const struct http *hp, hdr_t hdr, const char **ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:665,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:666,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:667,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:668,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:669,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:672,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:674,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:674,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:685,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:691,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:694,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 5
    argNames:
    - src
    - stop
    - sep
    - b
    - e
    argTypes:
    - char**
    - char*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 698
    functionName: http_split
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - AN
    - vct_issp
    - strchr
    linkageType: ''
    returnType: int
    signature: "int http_split(const char **src, const char *stop, const char *sep,\n
      \   const char **b, const char **e)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:712,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:715,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:716,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:717,1
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:722,1
    - Dst: http_tok_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:726,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:727,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - bp
    - e
    - token
    argTypes:
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 732
    functionName: http_istoken
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - AN
    - vct_istchar
    - http_tok_at
    - memcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int http_istoken(const char **bp, const char *e, const char *token)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:764,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:766,1
    - Dst: http_split
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:768,1
    - Dst: http_istoken
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:769,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:774,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 5
    argNames:
    - hp
    - hdr
    - token
    - pb
    - pe
    argTypes:
    - struct http*
    - hdr_t
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 754
    functionDepth: 3
    functionLinenumber: 754
    functionLinenumberEnd: 785
    functionName: http_GetHdrToken
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - http_istoken
    - AN
    - vct_islws
    - http_GetHdr
    - http_split
    linkageType: ''
    returnType: int
    signature: "int http_GetHdrToken(const struct http *hp, hdr_t hdr,\n    const
      char *token, const char **pb, const char **pe)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdrToken
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:798,1
    - Dst: http_split
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:804,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:807,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:815,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:817,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:820,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:828,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 3
    argNames:
    - hp
    - hdr
    - field
    argTypes:
    - struct http*
    - hdr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 834
    functionName: http_GetHdrQ
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - http_GetHdrToken
    - vct_issp
    - vct_isdigit
    - http_split
    linkageType: ''
    returnType: double
    signature: double http_GetHdrQ(const struct http *hp, hdr_t hdr, const char *field)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdrToken
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:851,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:857,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:861,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - hp
    - hdr
    - field
    - ptr
    argTypes:
    - struct http*
    - hdr_t
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 840
    functionDepth: 4
    functionLinenumber: 840
    functionLinenumberEnd: 867
    functionName: http_GetHdrField
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - http_GetHdrToken
    - vct_issp
    linkageType: ''
    returnType: int
    signature: "int http_GetHdrField(const struct http *hp, hdr_t hdr,\n    const
      char *field, const char **ptr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:877,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:879,1
    - Dst: VNUM_uint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:881,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 889
    functionName: http_GetContentLength
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 5
    functionsReached:
    - VNUM_uint
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t http_GetContentLength(const struct http *hp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:897,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:906,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:909,1
    - Dst: http_range_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:913,1
    - Dst: VNUM_uint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:921,1
    - Dst: VNUM_uint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:926,1
    - Dst: VNUM_uint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:936,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:940,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:946,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:949,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - hp
    - lo
    - hi
    argTypes:
    - struct http*
    - ssize_t*
    - ssize_t*
    assertStmts:
    - condition: (cl >= -1)
      pos:
        line_end: 945
        line_start: 945
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 951
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 951
    functionName: http_GetContentRange
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - AN
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - http_range_at
    - assert
    - strchr
    - VNUM_uint
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t http_GetContentRange(const struct http *hp, ssize_t *lo, ssize_t
      *hi)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:959,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:968,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:971,1
    - Dst: http_range_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:975,1
    - Dst: VNUM_uint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:979,1
    - Dst: VNUM_uint
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:985,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:995,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1000,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1001,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1004,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 4
    argNames:
    - hp
    - lo
    - hi
    - len
    argTypes:
    - struct http*
    - ssize_t*
    - ssize_t*
    - ssize_t
    assertStmts:
    - condition: (*lo >= -1)
      pos:
        line_end: 999
        line_start: 999
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - condition: (*hi >= -1)
      pos:
        line_end: 1000
        line_start: 1000
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - condition: (*hi > 0)
      pos:
        line_end: 1003
        line_start: 1003
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1020
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 1020
    functionName: http_GetRange
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - http_range_at
    - assert
    - strchr
    - VNUM_uint
    linkageType: ''
    returnType: char
    signature: 'char *

      http_GetRange(const struct http *hp, ssize_t *lo, ssize_t *hi, ssize_t len)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1033,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1034,1
    - Dst: http_CollectHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1041,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1042,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1044,1
    - Dst: http_split
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1045,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1046,1
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1047,1
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1049,1
    - Dst: http_hdr_flags
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1053,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1058,1
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1063,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1068,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 2
    argNames:
    - hp
    - sc_close
    argTypes:
    - struct http*
    - stream_close_t
    assertStmts:
    - condition: (sc_close == SC_REQ_CLOSE || sc_close == SC_RESP_CLOSE)
      pos:
        line_end: 1033
        line_start: 1033
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1070
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1070
    functionName: http_DoConnection
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 5
    functionsReached:
    - http_hdr_flags
    - AN
    - http_CollectHdr
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - assert
    - pdiff
    - http_split
    - http_hdr_at
    - Tcheck
    linkageType: ''
    returnType: stream_close_t
    signature: stream_close_t http_DoConnection(struct http *hp, stream_close_t sc_close)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1079,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1081,1
    - Dst: http_tok_eq
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hp
    - hdr
    - val
    argTypes:
    - struct http*
    - hdr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1085
    functionName: http_HdrIs
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 4
    functionsReached:
    - http_tok_eq
    - AN
    - http_GetHdr
    linkageType: ''
    returnType: int
    signature: int http_HdrIs(const struct http *hp, hdr_t hdr, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1095
    functionName: http_GetStatus
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 9
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t http_GetStatus(const struct http *hp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1101,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hp
    - val
    argTypes:
    - struct http*
    - int
    assertStmts:
    - condition: (val >= 100 && val <= 999)
      pos:
        line_end: 1101
        line_start: 1101
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1104
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1104
    functionName: http_IsStatus
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 4
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int http_IsStatus(const struct http *hp, int val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1116,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1123,1
    - Dst: http_Status2Reason
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1126,1
    - Dst: http_Status2Reason
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1128,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1131,1
    - Dst: bprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1133,1
    - Dst: http_PutField
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1134,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - to
    - status
    - reason
    argTypes:
    - struct http*
    - uint16_t
    - char*
    assertStmts:
    - condition: (status >= 100)
      pos:
        line_end: 1122
        line_start: 1122
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1137
      start: 1110
    functionDepth: 10
    functionLinenumber: 1110
    functionLinenumberEnd: 1137
    functionName: http_SetStatus
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - bprintf
    - http_PutField
    - assert
    - http_Status2Reason
    linkageType: ''
    returnType: void
    signature: void http_SetStatus(struct http *to, uint16_t status, const char *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1145,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1148
    functionName: http_GetMethod
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - Tcheck
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      http_GetMethod(const struct http *hp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1159,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1160,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1161,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1162,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1165,1
    - Dst: VSLbt
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1170,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - to
    - n
    - t
    argTypes:
    - struct http*
    - unsigned
    - char*
    assertStmts:
    - condition: (n < HTTP_HDR_FIRST)
      pos:
        line_end: 1159
        line_start: 1159
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - condition: (n == HTTP_HDR_METHOD || n == HTTP_HDR_PROTO)
      pos:
        line_end: 1160
        line_start: 1160
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1173
      start: 1154
    functionDepth: 9
    functionLinenumber: 1154
    functionLinenumberEnd: 1173
    functionName: http_ForceField
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 3
    functionsReached:
    - AN
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - strcmp
    - assert
    - VSLbt
    linkageType: ''
    returnType: void
    signature: void http_ForceField(struct http *to, unsigned n, const char *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1182,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1184,1
    - Dst: http_SetStatus
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - to
    - proto
    - status
    - reason
    argTypes:
    - struct http*
    - char*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 11
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: http_PutResponse
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 5
    functionsReached:
    - http_SetStatus
    - http_SetH
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void http_PutResponse(struct http *to, const char *proto, uint16_t
      status,\n    const char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1203,1
    - Dst: http_hdr_flags
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fm
    - u
    - how
    argTypes:
    - struct http*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1208
    functionName: http_isfiltered
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - http_hdr_flags
    - strchr
    linkageType: ''
    returnType: int
    signature: int http_isfiltered(const struct http *fm, unsigned u, unsigned how)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_isfiltered
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fm
    - u
    - how
    argTypes:
    - struct http*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1210
    functionDepth: 3
    functionLinenumber: 1210
    functionLinenumberEnd: 1215
    functionName: http_IsFiltered
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - http_isfiltered
    linkageType: ''
    returnType: int
    signature: int http_IsFiltered(const struct http *fm, unsigned u, unsigned how)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1228,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1232,1
    - Dst: http_isfiltered
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1233,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1235,1
    - Dst: PRNDUP
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - fm
    - how
    argTypes:
    - struct http*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1222
    functionDepth: 3
    functionLinenumber: 1222
    functionLinenumberEnd: 1238
    functionName: http_EstimateWS
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - http_isfiltered
    - PRNDUP
    - Tlen
    - Tcheck
    linkageType: ''
    returnType: unsigned
    signature: unsigned http_EstimateWS(const struct http *fm, unsigned how)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1256,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1257,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1260,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1261,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1263,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1265,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1269,1
    - Dst: http_isfiltered
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1270,1
    - Dst: http_VSLH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1272,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1273,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1274,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1275,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1280,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - fm
    - p0
    - l
    - how
    argTypes:
    - struct http*
    - uint8_t*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (fm->nhd <= fm->shd)
      pos:
        line_end: 1260
        line_start: 1260
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - condition: (p + 5 <= e)
      pos:
        line_end: 1259
        line_start: 1259
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - condition: (p + w + 1 <= e)
      pos:
        line_end: 1273
        line_start: 1273
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - condition: (p <= e)
      pos:
        line_end: 1279
        line_start: 1279
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1282
      start: 1249
    functionDepth: 8
    functionLinenumber: 1249
    functionLinenumberEnd: 1282
    functionName: HTTP_Encode
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - vbe16enc
    - AN
    - CHECK_OBJ_NOTNULL
    - http_VSLH
    - memcpy
    - http_isfiltered
    - assert
    - Tlen
    - Tcheck
    linkageType: ''
    returnType: void
    signature: void HTTP_Encode(const struct http *fm, uint8_t *p0, unsigned l, unsigned
      how)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1292,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1293,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1294,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1295,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1296,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1308,1
    - Dst: http_VSLH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1311,1
    - Dst: VSLb
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1314,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - to
    - fm
    argTypes:
    - struct http*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1288
    functionDepth: 8
    functionLinenumber: 1288
    functionLinenumberEnd: 1318
    functionName: HTTP_Decode
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - http_VSLH
    - vbe16dec
    - strchr
    - VSLb
    linkageType: ''
    returnType: int
    signature: int HTTP_Decode(struct http *to, const uint8_t *fm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1326,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1327,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wrk
    - oc
    argTypes:
    - struct worker*
    - struct objcore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1330
    functionName: HTTP_GetStatusPack
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - AN
    - vbe16dec
    - ObjGetAttr
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t HTTP_GetStatusPack(struct worker *wrk, struct objcore *oc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1340,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1341,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1342,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1345,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1346,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1348,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1349,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1350,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - wrk
    - oc
    - p
    argTypes:
    - struct worker*
    - struct objcore*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1358
    functionName: HTTP_IterHdrPack
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - strchr
    - AN
    - ObjGetAttr
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int HTTP_IterHdrPack(struct worker *wrk, struct objcore *oc, const
      char **p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1365,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1366,1
    - Dst: CHECK_HDR
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1367,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1371,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1372,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1376,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1378,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1379,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1381,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1382,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1384,1
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1388,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - wrk
    - oc
    - hdr
    argTypes:
    - struct worker*
    - struct objcore*
    - hdr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1360
    functionDepth: 2
    functionLinenumber: 1360
    functionLinenumberEnd: 1397
    functionName: HTTP_GetHdrPack
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 6
    functionsReached:
    - AN
    - vct_islws
    - CHECK_OBJ_NOTNULL
    - strcmp
    - WRONG
    - ObjGetAttr
    - strchr
    - http_hdr_at
    - CHECK_HDR
    linkageType: ''
    returnType: char
    signature: 'char *

      HTTP_GetHdrPack(struct worker *wrk, struct objcore *oc, hdr_t hdr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_hdr_at
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1388,1
    - Dst: vct_islws
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1394
    functionName: HTTP_FOREACH_PACK
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - http_hdr_at
    - vct_islws
    linkageType: ''
    returnType: void
    signature: void HTTP_FOREACH_PACK(wrk, oc, ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1412,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1413,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1414,1
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1416,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1417,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1419,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1425,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1426,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1430,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1431,1
    - Dst: http_findhdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1432,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1434,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - wrk
    - oc
    - to
    argTypes:
    - struct worker*
    - struct objcore*
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1404
    functionDepth: 9
    functionLinenumber: 1404
    functionLinenumberEnd: 1437
    functionName: HTTP_Merge
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - AN
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - http_findhdr
    - vbe16dec
    - ObjGetAttr
    - strchr
    - http_SetHeader
    linkageType: ''
    returnType: void
    signature: void HTTP_Merge(struct worker *wrk, struct objcore *oc, struct http
      *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1445,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1446,1
    - Dst: http_VSLH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - to
    - fm
    - n
    argTypes:
    - struct http*
    - struct http*
    - unsigned
    assertStmts:
    - condition: (n < HTTP_HDR_FIRST)
      pos:
        line_end: 1444
        line_start: 1444
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1450
      start: 1441
    functionDepth: 8
    functionLinenumber: 1441
    functionLinenumberEnd: 1450
    functionName: http_linkh
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached:
    - assert
    - Tcheck
    - http_VSLH
    linkageType: ''
    returnType: void
    signature: void http_linkh(const struct http *to, const struct http *fm, unsigned
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1459,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1460,1
    - Dst: http_linkh
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1462,1
    - Dst: http_SetWellKnownMethod
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1463,1
    - Dst: http_linkh
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1464,1
    - Dst: http_linkh
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1465,1
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1471,1
    - Dst: http_isfiltered
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1472,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1474,1
    - Dst: http_VSLH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - to
    - fm
    - how
    argTypes:
    - struct http*
    - struct http*
    - unsigned
    assertStmts:
    - condition: (to->nhd < to->shd)
      pos:
        line_end: 1473
        line_start: 1473
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1480
      start: 1454
    functionDepth: 9
    functionLinenumber: 1454
    functionLinenumberEnd: 1480
    functionName: http_FilterReq
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - http_VSLH
    - http_isfiltered
    - assert
    - http_SetWellKnownMethod
    - http_linkh
    - Tcheck
    linkageType: ''
    returnType: void
    signature: void http_FilterReq(struct http *to, const struct http *fm, unsigned
      how)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1495,1
    - Dst: Tlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1499,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1500,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1503,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1505,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1506,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts:
    - condition: (u < HTTP_HDR_FIRST)
      pos:
        line_end: 1494
        line_start: 1494
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    constantsTouched: []
    func_position:
      end: 1512
      start: 1487
    functionDepth: 6
    functionLinenumber: 1487
    functionLinenumberEnd: 1512
    functionName: http_CopyHome
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 1
    functionsReached:
    - http_fail
    - WS_Copy
    - assert
    - WS_Allocated
    - VSLbs
    - Tlen
    - TOSTRAND
    linkageType: ''
    returnType: void
    signature: void http_CopyHome(const struct http *hp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1520,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1522,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1522,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1523,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - to
    - header
    argTypes:
    - struct http*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1516
    functionDepth: 9
    functionLinenumber: 1516
    functionLinenumberEnd: 1527
    functionName: http_SetHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 10
    functionsReached:
    - http_fail
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - VSLbs
    - TOSTRAND
    linkageType: ''
    returnType: void
    signature: void http_SetHeader(struct http *to, const char *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1535,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1536,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1538,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - to
    - hdr
    - val
    argTypes:
    - struct http*
    - hdr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1531
    functionDepth: 4
    functionLinenumber: 1531
    functionLinenumberEnd: 1540
    functionName: http_ForceHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 6
    functionsReached:
    - http_Unset
    - http_PrintfHeader
    - http_HdrIs
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void http_ForceHeader(struct http *to, hdr_t hdr, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_CollectHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1547,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1548,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1549,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1550,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - to
    - hdr
    - val
    argTypes:
    - struct http*
    - hdr_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1554
    functionName: http_AppendHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached:
    - http_Unset
    - http_PrintfHeader
    - http_CollectHdr
    - http_GetHdr
    linkageType: ''
    returnType: void
    signature: void http_AppendHeader(struct http *to, hdr_t hdr, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1564,1
    - Dst: va_start
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1566,1
    - Dst: va_copy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1567,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1569,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1570,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1571,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1574,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1575,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1577,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1579,1
    - Dst: va_end
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - to
    - fmt
    argTypes:
    - struct http*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1556
    functionDepth: 9
    functionLinenumber: 1556
    functionLinenumberEnd: 1581
    functionName: http_PrintfHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 16
    functionsReached:
    - http_fail
    - http_SetH
    - va_copy
    - CHECK_OBJ_NOTNULL
    - VSLbv
    - va_start
    - VSB_vprintf
    - WS_VSB_new
    - WS_VSB_finish
    - va_end
    linkageType: ''
    returnType: void
    signature: void http_PrintfHeader(struct http *to, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1588,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1590,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1590,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1591,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1594,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1594,1
    - Dst: http_fail
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1596,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1597,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1597,1
    - Dst: strcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1600,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1601,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1601,1
    - Dst: http_SetH
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - to
    - fmt
    - now
    argTypes:
    - struct http*
    - char*
    - vtim_real
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1583
    functionDepth: 9
    functionLinenumber: 1583
    functionLinenumberEnd: 1603
    functionName: http_TimeHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 3
    functionsReached:
    - http_fail
    - VTIM_format
    - http_SetH
    - CHECK_OBJ_NOTNULL
    - WS_Alloc
    - strcpy
    - strchr
    - VSLbs
    - strlen
    - TOSTRAND
    linkageType: ''
    returnType: void
    signature: void http_TimeHeader(struct http *to, const char *fmt, vtim_real now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1610
    functionName: http_ViaHeader
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      http_ViaHeader(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Tcheck
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1620,1
    - Dst: http_IsHdr
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1621,1
    - Dst: http_VSLH_del
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1622,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1626,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - hp
    - hdr
    argTypes:
    - struct http*
    - hdr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1614
    functionDepth: 8
    functionLinenumber: 1614
    functionLinenumberEnd: 1632
    functionName: http_Unset
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 21
    functionsReached:
    - http_IsHdr
    - http_VSLH_del
    - memcpy
    - Tcheck
    linkageType: ''
    returnType: void
    signature: void http_Unset(struct http *hp, hdr_t hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1640,1
    - Dst: http_GetMethod
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1642,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1643,1
    - Dst: vstrlen
      Src: /src/vinyl-cache/bin/vinyld/cache/cache_http.c:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hp
    argTypes:
    - struct http*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1655
    functionName: http_SetWellKnownMethod
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 4
    functionsReached:
    - http_GetMethod
    - AN
    - vstrlen
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void http_SetWellKnownMethod(struct http *hp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - wk
    - ','
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1653
    functionName: WKM
    functionSourceFile: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WKM(wk, bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: vpx_ws_err
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - VSL
    linkageType: ''
    returnType: int
    signature: int vpx_ws_err(const struct req *req)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:81,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:82,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:83,1
    - Dst: memchr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:85,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:99,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:101,1
    - Dst: strchr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:109,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:110,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:115,1
    - Dst: strcmp
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:117,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:120,1
    - Dst: SES_Reserve_client_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:125,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:126,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:127,1
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:129,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:131,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:135,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:136,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:137,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:138,1
    - Dst: SES_Reserve_server_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:140,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:141,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:142,1
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:144,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:146,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:151,1
    - Dst: HTC_RxPipeline
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (sz == vsa_suckaddr_len)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (sz == vsa_suckaddr_len)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 155
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 155
    functionName: vpx_proto1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - vpx_ws_err
    - SES_Reserve_client_addr
    - CHECK_OBJ_NOTNULL
    - SES_Set_String_Attr
    - memchr
    - VSL
    - strcmp
    - assert
    - HTC_RxPipeline
    - VSS_ResolveOne
    - SES_Reserve_server_addr
    - strchr
    linkageType: ''
    returnType: int
    signature: int vpx_proto1(const struct worker *wrk, const struct req *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - uint8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: crc32c
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crc32c(const uint8_t *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:256,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:257,1
    - Dst: memset
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - vpi
    - p
    - l
    argTypes:
    - struct vpx_tlv_iter*
    - void*
    - unsigned
    assertStmts:
    - condition: (l < 65536)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: vpx_tlv_iter0
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - AN
    linkageType: ''
    returnType: void
    signature: void vpx_tlv_iter0(struct vpx_tlv_iter *vpi, void *p, unsigned l)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - vpi
    argTypes:
    - struct vpx_tlv_iter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 282
    functionName: vpx_tlv_itern
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - vbe16dec
    linkageType: ''
    returnType: int
    signature: int vpx_tlv_itern(struct vpx_tlv_iter *vpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - len
    - ','
    - itv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: VPX_TLV_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPX_TLV_FOREACH(ptr, len, itv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:295,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:296,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:297,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:298,1
    - Dst: SES_Get_proxy_tlv
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:302,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:304,1
    - Dst: VPX_TLV_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:306,1
    - Dst: VPX_TLV_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - req
    - typ
    - dst
    - len
    argTypes:
    - struct req*
    - int
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 323
    functionName: VPX_tlv
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - VPX_TLV_FOREACH
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - SES_Get_proxy_tlv
    linkageType: ''
    returnType: int
    signature: int VPX_tlv(const struct req *req, int typ, const void **dst, int *len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:345,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:346,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:347,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:349,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:350,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:351,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:353,1
    - Dst: HTC_RxPipeline
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:354,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:360,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:368,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:374,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:383,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:398,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:406,1
    - Dst: SES_Reserve_client_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:419,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:420,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:421,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:422,1
    - Dst: VSA_BuildFAP
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:422,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:423,1
    - Dst: SES_Reserve_server_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:429,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:430,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:431,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:432,1
    - Dst: VSA_BuildFAP
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:432,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:433,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:435,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:436,1
    - Dst: SES_Set_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:437,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:438,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:440,1
    - Dst: VPX_TLV_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:451,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:455,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:456,1
    - Dst: crc32c
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:457,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:458,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:465,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:468,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:470,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:471,1
    - Dst: memcpy
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:473,1
    - Dst: SES_Reserve_proxy_tlv
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:474,1
    - Dst: vpx_ws_err
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:475,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:476,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts:
    - condition: (req->htc->rxbuf_e >= req->htc->rxbuf_b + hdr_len)
      pos:
        line_end: 352
        line_start: 352
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (sz == sizeof up)
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (req->htc->rxbuf_e - req->htc->rxbuf_b >= 16L)
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (l <= VPX_MAX_LEN)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (sz == vsa_suckaddr_len)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (sz == vsa_suckaddr_len)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 479
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 479
    functionName: vpx_proto2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - SES_Reserve_proxy_tlv
    - VSL
    - vpx_ws_err
    - SES_Reserve_client_addr
    - AN
    - vbe32enc
    - memcpy
    - WS_Alloc
    - vbe16dec
    - crc32c
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - assert
    - HTC_RxPipeline
    - vbe32dec
    - VSA_BuildFAP
    - VPX_TLV_FOREACH
    - SES_Set_String_Attr
    - SES_Reserve_server_addr
    - VTCP_name
    linkageType: ''
    returnType: int
    signature: int vpx_proto2(const struct worker *wrk, const struct req *req)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VPX_TLV_FOREACH
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:451,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:455,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:456,1
    - Dst: crc32c
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:457,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 463
    functionName: VPX_TLV_FOREACH
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 3
    functionsReached:
    - vbe32enc
    - VPX_TLV_FOREACH
    - VSL
    - vbe32dec
    - crc32c
    linkageType: ''
    returnType: void
    signature: void VPX_TLV_FOREACH(d, l, vpi)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:492,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:493,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:493,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:494,1
    - Dst: pdiff
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:494,1
    - Dst: WS_ReservationSize
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:494,1
    - Dst: memchr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:507,1
    - Dst: vbe16dec
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:517,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - htc
    argTypes:
    - struct http_conn*
    assertStmts:
    - condition: (pdiff(htc->rxbuf_b, htc->rxbuf_e) <= WS_ReservationSize(htc->ws))
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 526
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 526
    functionName: vpx_complete
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - memchr
    - assert
    - WS_ReservationSize
    - pdiff
    - vbe16dec
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void vpx_complete(struct http_conn *htc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:537,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:538,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:540,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:543,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:544,1
    - Dst: HTC_RxInit
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:546,1
    - Dst: HTC_RxStuff
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:547,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:550,1
    - Dst: SES_DeleteHS
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:551,1
    - Dst: vpx_proto1
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:556,1
    - Dst: vpx_proto2
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:558,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:560,1
    - Dst: Req_Release
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:563,1
    - Dst: SES_Delete
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:564,1
    - Dst: SES_SetTransport
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (sizeof vpx2_sig == 12)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (sizeof vpx1_sig == 5)
      pos:
        line_end: 542
        line_start: 542
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 569
      start: 529
    functionDepth: 9
    functionLinenumber: 529
    functionLinenumberEnd: 569
    functionName: vpx_new_session
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - SES_Delete
    - HTC_RxStuff
    - CHECK_OBJ_NOTNULL
    - HTC_RxInit
    - assert
    - CAST_OBJ_NOTNULL
    - vpx_proto2
    - SES_SetTransport
    - WRONG
    - vpx_proto1
    - SES_DeleteHS
    - Req_Release
    linkageType: ''
    returnType: void
    signature: void vpx_new_session(struct worker *wrk, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:586,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:587,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:588,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:589,1
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:591,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:592,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:593,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - vsb
    - proto
    - s
    argTypes:
    - struct vsb*
    - int
    - struct suckaddr*
    assertStmts:
    - condition: (sl >= sizeof *sin6)
      pos:
        line_end: 587
        line_start: 587
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (sl >= sizeof *sin4)
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 596
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 596
    functionName: vpx_enc_addr
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 1
    functionsReached:
    - assert
    - AN
    - VSA_Get_Sockaddr
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void vpx_enc_addr(struct vsb *vsb, int proto, const struct suckaddr
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:603,1
    - Dst: VSA_Port
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:603,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsb
    - s
    argTypes:
    - struct vsb*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: vpx_enc_port
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 1
    functionsReached:
    - vbe16enc
    - VSA_Port
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void vpx_enc_port(struct vsb *vsb, const struct suckaddr *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:612,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:616,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:617,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:619,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:620,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:621,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - vsb
    - authority
    - l_authority
    argTypes:
    - struct vsb*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 623
    functionName: vpx_enc_authority
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - vbe16enc
    - AN
    - VSB_putc
    - VSB_cat
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void vpx_enc_authority(struct vsb *vsb, const char *authority, size_t
      l_authority)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:631,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:632,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:633,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:634,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:635,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:637,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:640,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:642,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:644,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:646,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:648,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - vsb
    - proto
    - cip
    - cport
    - sip
    - sport
    argTypes:
    - struct vsb*
    - int
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 649
    functionName: vpx_format_proxy_v1
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_finish
    - VSB_printf
    - AZ
    - VSB_cat
    - WRONG
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: "void vpx_format_proxy_v1(struct vsb *vsb, int proto,\n    const char
      *cip,  const char *cport,\n    const char *sip,  const char *sport)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:659,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:660,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:661,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:664,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:666,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:670,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:671,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:673,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:674,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:675,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:677,1
    - Dst: vbe16enc
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:678,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:679,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:681,1
    - Dst: vpx_enc_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:683,1
    - Dst: vpx_enc_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:684,1
    - Dst: vpx_enc_port
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:685,1
    - Dst: vpx_enc_port
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:686,1
    - Dst: vpx_enc_authority
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:687,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:688,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - vsb
    - proto
    - sac
    - sas
    - authority
    argTypes:
    - struct vsb*
    - int
    - struct suckaddr*
    - struct suckaddr*
    - char*
    assertStmts:
    - condition: (3 + l_authority <= UINT16_MAX)
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 689
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 689
    functionName: vpx_format_proxy_v2
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 0
    functionsReached:
    - vbe16enc
    - AN
    - VSB_putc
    - vpx_enc_authority
    - VSB_finish
    - vpx_enc_port
    - AZ
    - assert
    - vpx_enc_addr
    - WRONG
    - VSB_bcat
    - strlen
    linkageType: ''
    returnType: void
    signature: "void vpx_format_proxy_v2(struct vsb *vsb, int proto,\n    const struct
      suckaddr *sac, const struct suckaddr *sas,\n    const char *authority)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:702,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:703,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:704,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:706,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:708,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:709,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:709,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:712,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:713,1
    - Dst: vpx_format_proxy_v1
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:714,1
    - Dst: vpx_format_proxy_v2
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:716,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - vsb
    - version
    - sac
    - sas
    - authority
    argTypes:
    - struct vsb*
    - int
    - struct suckaddr*
    - struct suckaddr*
    - char*
    assertStmts:
    - condition: (version == 1 || version == 2)
      pos:
        line_end: 705
        line_start: 705
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - condition: (proto == VSA_Get_Proto(sac))
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 719
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 719
    functionName: VPX_Format_Proxy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 2
    functionsReached:
    - AN
    - VTCP_name
    - vpx_format_proxy_v1
    - assert
    - WRONG
    - vpx_format_proxy_v2
    - VSA_Get_Proto
    linkageType: ''
    returnType: void
    signature: "void VPX_Format_Proxy(struct vsb *vsb, int version,\n    const struct
      suckaddr *sac, const struct suckaddr *sas,\n    const char *authority)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:736,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:737,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:738,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:738,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:740,1
    - Dst: SES_Get_server_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:740,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:741,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:742,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:745,1
    - Dst: vpx_format_proxy_v1
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:746,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:747,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:748,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:751,1
    - Dst: SES_Get_client_addr
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:751,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:752,1
    - Dst: vpx_format_proxy_v2
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:753,1
    - Dst: WRONG
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:755,1
    - Dst: write
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:757,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:757,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:757,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:758,1
    - Dst: DO_DEBUG
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:760,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:763,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:764,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:765,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:765,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:765,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:767,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:767,1
    - Dst: VSL
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:768,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:768,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:769,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c:770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - fd
    - version
    - sp
    argTypes:
    - int
    - int
    - struct sess*
    assertStmts:
    - condition: (version == 1 || version == 2)
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    constantsTouched: []
    func_position:
      end: 772
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 772
    functionName: VPX_Send_Proxy
    functionSourceFile: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    functionUses: 1
    functionsReached:
    - SES_Get_client_addr
    - VSB_fini
    - VSB_finish
    - SES_Get_server_addr
    - vpx_format_proxy_v1
    - VSL
    - VSB_quote
    - DO_DEBUG
    - VSA_Get_Proto
    - AN
    - VTCP_Assert
    - write
    - WRONG
    - VSB_data
    - CHECK_OBJ_NOTNULL
    - SES_Get_String_Attr
    - AZ
    - assert
    - VSB_len
    - vpx_format_proxy_v2
    - VSB_new_auto
    - VSB_init
    - VTCP_name
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int VPX_Send_Proxy(int fd, int version, const struct sess *sp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct top*
    - struct top*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: cmp_key
    functionSourceFile: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: void
    signature: void cmp_key(const struct top *a, const struct top *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmp_key
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct top*
    - struct top*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: cmp_order
    functionSourceFile: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    functionUses: 0
    functionsReached:
    - cmp_key
    linkageType: ''
    returnType: int
    signature: int cmp_order(const struct top *a, const struct top *b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VSL_Next
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:136,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:137,1
    - Dst: VSL_Match
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:140,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:142,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:143,1
    - Dst: isspace
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:148,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:159,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:161,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:161,1
    - Dst: VRBT_FIND
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:162,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:164,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:167,1
    - Dst: calloc
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:170,1
    - Dst: assert
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:171,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:176,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:178,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:179,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:180,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:182,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:182,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - vsl
    - pt
    - priv
    argTypes:
    - struct VSL_data*
    - struct VSL_transaction*[]
    - void*
    assertStmts:
    - condition: (tp != NULL)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    constantsTouched: []
    func_position:
      end: 188
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 188
    functionName: accumulate
    functionSourceFile: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    functionUses: 0
    functionsReached:
    - VRBT_FIND
    - VSL_LEN
    - isspace
    - VSL_Match
    - VRBT_INSERT
    - VSL_Next
    - AN
    - VSL_CDATA
    - strdup
    - VRBT_REMOVE
    - VSL_TAG
    - pthread_mutex_lock
    - PTOK
    - assert
    - pthread_mutex_unlock
    - calloc
    linkageType: ''
    returnType: void
    signature: "void accumulate(struct VSL_data *vsl, struct VSL_transaction * const
      pt[],\n\tvoid *priv)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:201,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:209,1
    - Dst: erase
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:209,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:211,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:213,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:213,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:215,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:215,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:216,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:216,1
    - Dst: VRBT_MIN
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:217,1
    - Dst: VRBT_NEXT
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:218,1
    - Dst: vmin
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:221,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:222,1
    - Dst: mvprintw
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:222,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:232,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:233,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:234,1
    - Dst: free
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:235,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:239,1
    - Dst: refresh
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 240
    functionName: update
    functionSourceFile: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    functionUses: 10
    functionsReached:
    - vmin
    - erase
    - mvprintw
    - IC
    - AC
    - VRBT_MIN
    - VRBT_NEXT
    - VRBT_REMOVE
    - time
    - strlen
    - refresh
    - free
    linkageType: ''
    returnType: void
    signature: void update(unsigned p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:251,1
    - Dst: strlen
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:252,1
    - Dst: initscr
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:255,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:256,1
    - Dst: raw
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:256,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:257,1
    - Dst: noecho
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:257,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:258,1
    - Dst: nonl
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:258,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:259,1
    - Dst: intrflush
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:259,1
    - Dst: IC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:260,1
    - Dst: curs_set
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:260,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:261,1
    - Dst: erase
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:261,1
    - Dst: timeout
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:262,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:264,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:264,1
    - Dst: update
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:265,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:266,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:266,1
    - Dst: getch
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:268,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:273,1
    - Dst: erase
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:273,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:278,1
    - Dst: redrawwin
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:278,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:279,1
    - Dst: refresh
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:279,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:282,1
    - Dst: endwin
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:282,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:283,1
    - Dst: raise
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:283,1
    - Dst: AZ
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:289,1
    - Dst: raise
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:289,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:292,1
    - Dst: beep
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:292,1
    - Dst: AC
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:296,1
    - Dst: endwin
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 298
    functionName: do_curses
    functionSourceFile: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    functionUses: 1
    functionsReached:
    - erase
    - redrawwin
    - AC
    - getch
    - update
    - strlen
    - IC
    - raw
    - raise
    - refresh
    - beep
    - AZ
    - PTOK
    - endwin
    - nonl
    - intrflush
    - initscr
    - curs_set
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - timeout
    - noecho
    linkageType: ''
    returnType: void
    signature: 'void *

      do_curses(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRBT_MIN
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:304,1
    - Dst: VRBT_NEXT
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:305,1
    - Dst: printf
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: dump
    functionSourceFile: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    functionUses: 36
    functionsReached:
    - printf
    - VRBT_NEXT
    - VRBT_MIN
    linkageType: ''
    returnType: void
    signature: void dump(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VUT_InitProg
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:319,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:320,1
    - Dst: getopt
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:322,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:325,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:325,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:333,1
    - Dst: strtoul
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:337,1
    - Dst: fprintf
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:339,1
    - Dst: exit
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:341,1
    - Dst: VUT_Arg
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:345,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:346,1
    - Dst: VUT_Usage
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:351,1
    - Dst: VUT_Setup
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:353,1
    - Dst: VSM_Dup
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:355,1
    - Dst: strdup
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:357,1
    - Dst: AN
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:358,1
    - Dst: VUT_Main
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:362,1
    - Dst: dump
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:363,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:365,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:365,1
    - Dst: VUT_Main
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:366,1
    - Dst: PTOK
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:368,1
    - Dst: pthread_join
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:368,1
    - Dst: VUT_Fini
      Src: /src/vinyl-cache/bin/vinyltop/vinyltop.c:370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 372
    functionName: main
    functionSourceFile: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    functionUses: 1
    functionsReached:
    - fprintf
    - VUT_Setup
    - AN
    - VUT_Fini
    - VUT_Arg
    - strtoul
    - strdup
    - exit
    - VSM_Dup
    - PTOK
    - VUT_InitProg
    - pthread_create
    - getopt
    - pthread_join
    - dump
    - VUT_Main
    - VUT_Usage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: VTAILQ_ENTRY
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_ENTRY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: VSTAILQ_ENTRY
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_ENTRY(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: VTAILQ_HEAD
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_HEAD(n, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: VSTAILQ_HEAD
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_HEAD(n, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: VTAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_HEAD_INITIALIZER(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: VSTAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_HEAD_INITIALIZER(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - h
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 137
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH(o, h, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - h
    - ','
    - l
    - ','
    - o2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: VTAILQ_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_SAFE(o, h, l, o2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - h
    - ','
    - t
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: VTAILQ_FOREACH_REVERSE
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE(o, h, t, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: VRBT_ENTRY
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_ENTRY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: VRBT_HEAD
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_HEAD(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: VRBT_INITIALIZER
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_INITIALIZER(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: ASSERT_MGT
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT_MGT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: VPFX
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPFX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: VARGS
    functionSourceFile: /src/vinyl-cache/tools/coccinelle/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARGS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: VBITMAP_IDX
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBITMAP_IDX(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: VBITMAP_BIT
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBITMAP_BIT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bit
    - to
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: vbit_rndup
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned vbit_rndup(unsigned bit, unsigned to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vbit_rndup
      Src: /src/vinyl-cache/include/vbm.h:71,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm.h:72,1
    - Dst: realloc
      Src: /src/vinyl-cache/include/vbm.h:75,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm.h:76,1
    - Dst: malloc
      Src: /src/vinyl-cache/include/vbm.h:78,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm.h:79,1
    - Dst: memcpy
      Src: /src/vinyl-cache/include/vbm.h:81,1
    - Dst: memset
      Src: /src/vinyl-cache/include/vbm.h:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - vb
    - bit
    argTypes:
    - struct vbitmap*
    - unsigned
    assertStmts:
    - condition: (bit > vb->nbits)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vinyl-cache/include/vbm.h
    - condition: (p != NULL)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vinyl-cache/include/vbm.h
    - condition: (p != NULL)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/include/vbm.h
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: vbit_expand
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 0
    functionsReached:
    - memcpy
    - malloc
    - memset
    - assert
    - realloc
    - vbit_rndup
    linkageType: ''
    returnType: void
    signature: void vbit_expand(struct vbitmap *vb, unsigned bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: VBITMAP_SZ
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VBITMAP_SZ(b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/include/vbm.h:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: vbit_init
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: struct vbitmap
    signature: 'struct vbitmap *

      vbit_init(void *p, size_t sz)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/include/vbm.h:126,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm.h:127,1
    - Dst: vbit_expand
      Src: /src/vinyl-cache/include/vbm.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - initial
    argTypes:
    - unsigned
    assertStmts:
    - condition: (vb != NULL)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vinyl-cache/include/vbm.h
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: vbit_new
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 1
    functionsReached:
    - assert
    - vbit_expand
    - calloc
    linkageType: ''
    returnType: struct vbitmap
    signature: 'struct vbitmap *

      vbit_new(unsigned initial)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/include/vbm.h:142,1
    - Dst: free
      Src: /src/vinyl-cache/include/vbm.h:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - vb
    argTypes:
    - struct vbitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: vbit_destroy
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void vbit_destroy(struct vbitmap *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vbit_expand
      Src: /src/vinyl-cache/include/vbm.h:155,1
    - Dst: VBITMAP_IDX
      Src: /src/vinyl-cache/include/vbm.h:156,1
    - Dst: VBITMAP_BIT
      Src: /src/vinyl-cache/include/vbm.h:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vb
    - bit
    argTypes:
    - struct vbitmap*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: vbit_set
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 2
    functionsReached:
    - VBITMAP_BIT
    - VBITMAP_IDX
    - vbit_expand
    linkageType: ''
    returnType: void
    signature: void vbit_set(struct vbitmap *vb, unsigned bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VBITMAP_IDX
      Src: /src/vinyl-cache/include/vbm.h:164,1
    - Dst: VBITMAP_BIT
      Src: /src/vinyl-cache/include/vbm.h:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - vb
    - bit
    argTypes:
    - struct vbitmap*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: vbit_clr
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 2
    functionsReached:
    - VBITMAP_BIT
    - VBITMAP_IDX
    linkageType: ''
    returnType: void
    signature: void vbit_clr(const struct vbitmap *vb, unsigned bit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VBITMAP_IDX
      Src: /src/vinyl-cache/include/vbm.h:173,1
    - Dst: VBITMAP_BIT
      Src: /src/vinyl-cache/include/vbm.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vb
    - bit
    argTypes:
    - struct vbitmap*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: vbit_test
    functionSourceFile: /src/vinyl-cache/include/vbm.h
    functionUses: 2
    functionsReached:
    - VBITMAP_BIT
    - VBITMAP_IDX
    linkageType: ''
    returnType: int
    signature: int vbit_test(const struct vbitmap *vb, unsigned bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: VSLIST_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: VSLIST_EMPTY
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: VSLIST_FIRST
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: VSLIST_FOREACH
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: VSLIST_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: VSLIST_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: VSLIST_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - varp
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: VSLIST_FOREACH_PREVPTR
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_FOREACH_PREVPTR(var, varp, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: VSLIST_INIT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - slistelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: VSLIST_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_INSERT_AFTER(slistelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: VSLIST_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: VSLIST_NEXT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: VSLIST_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_REMOVE(head, elm, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: VSLIST_REMOVE_AFTER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_REMOVE_AFTER(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: VSLIST_REMOVE_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_REMOVE_HEAD(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: VSLIST_SWAP
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLIST_SWAP(head1, head2, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: VSTAILQ_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: VSTAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head1
    - ','
    - head2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: VSTAILQ_CONCAT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_CONCAT(head1, head2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: VSTAILQ_EMPTY
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: VSTAILQ_FIRST
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: VSTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: VSTAILQ_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: VSTAILQ_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: VSTAILQ_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: VSTAILQ_INIT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - tqelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: VSTAILQ_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INSERT_AFTER(head, tqelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: VSTAILQ_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: VSTAILQ_INSERT_TAIL
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: VSTAILQ_LAST
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_LAST(head, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: VSTAILQ_NEXT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: VSTAILQ_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_REMOVE(head, elm, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: VSTAILQ_REMOVE_AFTER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_REMOVE_AFTER(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: VSTAILQ_REMOVE_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_REMOVE_HEAD(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: VSTAILQ_SWAP
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSTAILQ_SWAP(head1, head2, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: VLIST_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: VLIST_ENTRY
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: VLIST_EMPTY
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: VLIST_FIRST
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: VLIST_FOREACH
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: VLIST_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: VLIST_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: VLIST_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: VLIST_INIT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: VLIST_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INSERT_AFTER(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: VLIST_INSERT_BEFORE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: VLIST_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: VLIST_NEXT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elm
    - ','
    - head
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: VLIST_PREV
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_PREV(elm, head, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: VLIST_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_REMOVE(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: VLIST_SWAP
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLIST_SWAP(head1, head2, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: VTAILQ_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: VTAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: VTAILQ_ENTRY
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: VTAILQ_CONCAT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_CONCAT(head1, head2, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: VTAILQ_EMPTY
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: VTAILQ_FIRST
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 137
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 468
    functionName: VTAILQ_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_FROM(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: VTAILQ_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: VTAILQ_FOREACH_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_FROM_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: VTAILQ_FOREACH_REVERSE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 488
    functionName: VTAILQ_FOREACH_REVERSE_FROM
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE_FROM(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: VTAILQ_FOREACH_REVERSE_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: VTAILQ_FOREACH_REVERSE_FROM_SAFE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_FOREACH_REVERSE_FROM_SAFE(var, head, headname, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: VTAILQ_INIT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: VTAILQ_INSERT_AFTER
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_AFTER(head, listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 521
    functionName: VTAILQ_INSERT_BEFORE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: VTAILQ_INSERT_HEAD
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: VTAILQ_INSERT_TAIL
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - headname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: VTAILQ_LAST
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_LAST(head, headname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: VTAILQ_NEXT
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: VTAILQ_PREV
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_PREV(elm, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: VTAILQ_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_REMOVE(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head1
    - ','
    - head2
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: VTAILQ_SWAP
    functionSourceFile: /src/vinyl-cache/include/vqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAILQ_SWAP(head1, head2, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: assert
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 735
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: assert
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 735
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: xxxassert
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xxxassert(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: AZ
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 547
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AZ(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: AN
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 877
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AN(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: XXXAZ
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXXAZ(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: XXXAN
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXXAN(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: diagnostic
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: diagnostic(foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: WRONG
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRONG(expl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: _PTOK
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PTOK(call, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: PTOK
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 170
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTOK(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: INCOMPL
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCOMPL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: __has_extension
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_extension(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: v_static_assert
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: v_static_assert
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: __v_static_assert
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: ___v_static_assert
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ___v_static_assert(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/include/vas.h:145,1
    - Dst: AN
      Src: /src/vinyl-cache/include/vas.h:146,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vas.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - void*
    - void*
    assertStmts:
    - condition: (b <= e)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vinyl-cache/include/vas.h
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: pdiff
    functionSourceFile: /src/vinyl-cache/include/vas.h
    functionUses: 18
    functionsReached:
    - assert
    - AN
    linkageType: ''
    returnType: size_t
    signature: size_t pdiff(const void *b, const void *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: bprintf
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bprintf(buf, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - fmt
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: vbprintf
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vbprintf(buf, fmt, ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: bstrcpy
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bstrcpy(dst, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fdp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: closefd
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closefd(fdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: __has_feature
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_feature(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: __GNUC_PREREQ__
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ__(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maj
    - ','
    - min
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: __GNUC_PREREQ__
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __GNUC_PREREQ__(maj, min)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: v_printflike_
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_printflike_(f,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: v_gcov_flush
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_gcov_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: PAOK
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAOK(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: PRNDDN
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRNDDN(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: PRNDUP
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRNDUP(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: TRUST_ME
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRUST_ME(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: PWR2
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PWR2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: RDN2
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RDN2(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: RUP2
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUP2(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: VINDIRECT
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VINDIRECT(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: VCOMBINE
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCOMBINE(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: VUNIQ_NAME
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VUNIQ_NAME(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: VUNIQ_NAME
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VUNIQ_NAME(base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: typeof
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: typeof(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - op
    - ','
    - ta
    - ','
    - tb
    - ','
    - a
    - ','
    - b
    - ','
    - _va
    - ','
    - _vb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: _vtake
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _vtake(op, ta, tb, a, b, _va, _vb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - n
    - ','
    - ta
    - ','
    - tb
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: vtake
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vtake(n, ta, tb, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: vmin
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmin(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: vmax
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmax(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: vmin_t
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmin_t(type, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: vmax_t
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmax_t(type, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - l
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: vlimit
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlimit(a, l, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - l
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: vlimit_t
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vlimit_t(type, a, l, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: vcountof
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vcountof(arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: v_statevariable_
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_statevariable_(varname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: NEEDLESS
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDLESS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: NEEDLESS
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDLESS(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: v_used_
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_used_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: v_counted_by_
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v_counted_by_(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: Tcheck
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tcheck(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: Tlen
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tlen(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: Tstreq
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tstreq(t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: Tforeach
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tforeach(c, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: LIKELY
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: UNLIKELY
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLIKELY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: __DEQUALIFY
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __DEQUALIFY(type, var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: __containerof
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __containerof(x, s, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - s
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: __containerof
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __containerof(x, s, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: __has_builtin
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_builtin(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: vstrcmp
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstrcmp(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: vstrcmp
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstrcmp(s1, s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: vstrlen
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstrlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: vstrlen
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vstrlen(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: vmemcmp
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmemcmp(s1, s2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s1
    - ','
    - s2
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: vmemcmp
    functionSourceFile: /src/vinyl-cache/include/vdef.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmemcmp(s1, s2, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: VUS_is
    functionSourceFile: /src/vinyl-cache/include/vus.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VUS_is(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - argc
    - ','
    - argv
    - ','
    - spec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: VUT_InitProg
    functionSourceFile: /src/vinyl-cache/include/vut.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VUT_InitProg(argc, argv, spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VBITMAP_SZ
      Src: /src/vinyl-cache/include/vbm_test.c:42,1
    - Dst: vbit_init
      Src: /src/vinyl-cache/include/vbm_test.c:44,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:49,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:52,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/include/vbm_test.c:54,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:55,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/include/vbm_test.c:55,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:57,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/include/vbm_test.c:59,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:60,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:61,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/include/vbm_test.c:64,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:65,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/include/vbm_test.c:65,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:66,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/include/vbm_test.c:66,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:67,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:68,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:69,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:71,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/include/vbm_test.c:73,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:75,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:78,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/include/vbm_test.c:79,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:80,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/include/vbm_test.c:80,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:81,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:82,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/include/vbm_test.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:86,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/include/vbm_test.c:86,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:87,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/include/vbm_test.c:87,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/include/vbm_test.c:89,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/include/vbm_test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (nbits == VBITMAP_WORD)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vbit_test(vb, nbits - 1))
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->bits)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vbit_test(vb, nbits - 1))
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->nbits == VBITMAP_LUMP)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vbit_test(vb, nbits))
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->bits == NULL)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (20 < VBITMAP_LUMP)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->flags & VBITMAP_FL_MALLOC_BITS)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vbit_test(vb, VBITMAP_LUMP))
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->flags & VBITMAP_FL_MALLOC_BITS)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->bits)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->bits != obits)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->nbits == 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vbit_test(vb, 20))
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vbit_test(vb, 20))
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->nbits == 2 * VBITMAP_LUMP)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->bits == obits)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->flags & VBITMAP_FL_MALLOC_BITS)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->bits)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vinyl-cache/include/vbm_test.c
    - condition: (vb->nbits == VBITMAP_LUMP)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vinyl-cache/include/vbm_test.c
    constantsTouched: []
    func_position:
      end: 94
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/vinyl-cache/include/vbm_test.c
    functionUses: 1
    functionsReached:
    - vbit_init
    - vbit_set
    - vbit_test
    - vbit_destroy
    - assert
    - VBITMAP_SZ
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: VWMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VWMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: VRMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: VWMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VWMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: VRMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: VWMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VWMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: VRMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: VWMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VWMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: VRMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: VWMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VWMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: VRMB
    functionSourceFile: /src/vinyl-cache/include/vmb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRMB()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: AC
    functionSourceFile: /src/vinyl-cache/include/vcurses.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: IC
    functionSourceFile: /src/vinyl-cache/include/vcurses.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: AC
    functionSourceFile: /src/vinyl-cache/include/vcurses.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: IC
    functionSourceFile: /src/vinyl-cache/include/vcurses.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: TOSTRAND
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOSTRAND(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: TOSTRANDS
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOSTRANDS(x, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rigid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 684
    functionName: VRT_BACKEND_FIELDS
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_BACKEND_FIELDS(rigid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - be
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 693
    functionName: VRT_BACKEND_INIT
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_BACKEND_INIT(be)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 707
    functionName: VRT_BACKEND_HANDLE
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_BACKEND_HANDLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rigid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: VRT_BACKEND_PROBE_FIELDS
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_BACKEND_PROBE_FIELDS(rigid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 735
    functionName: VRT_BACKEND_PROBE_HANDLE
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRT_BACKEND_PROBE_HANDLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: HDR
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hdr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 788
    functionName: CHECK_HDR
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_HDR(hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hdr
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: CAST_HDR
    functionSourceFile: /src/vinyl-cache/include/vrt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_HDR(hdr, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: VJSN_TYPE_MACRO
    functionSourceFile: /src/vinyl-cache/include/vjsn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_TYPE_MACRO(UPPER, lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: ZERO_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZERO_OBJ(to, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 19
    functionName: INIT_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_OBJ(to, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: FINI_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FINI_OBJ(to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: ALLOC_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_OBJ(to, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - extra_size
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: ALLOC_OBJ_EXTRA
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_OBJ_EXTRA(to, extra_size, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - fld
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: SIZEOF_FLEX_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZEOF_FLEX_OBJ(to, fld, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - to
    - ','
    - fld
    - ','
    - len
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ALLOC_FLEX_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_FLEX_OBJ(to, fld, len, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - to
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: FREE_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_OBJ(to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: VALID_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_OBJ(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: CHECK_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OBJ(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: CHECK_OBJ_NOTNULL
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 876
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OBJ_NOTNULL(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: CHECK_OBJ_ORNULL
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OBJ_ORNULL(ptr, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: CAST_OBJ
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_OBJ(to, from, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: CAST_OBJ_NOTNULL
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 253
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAST_OBJ_NOTNULL(to, from, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - pfrom
    - ','
    - type_magic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: TAKE_OBJ_NOTNULL
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAKE_OBJ_NOTNULL(to, pfrom, type_magic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: REPLACE
    functionSourceFile: /src/vinyl-cache/include/miniobj.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPLACE(ptr, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: VCC_FEATURE_BIT
    functionSourceFile: /src/vinyl-cache/include/libvcc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_FEATURE_BIT(U, l, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: VSPLAY_INITIALIZER
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_INITIALIZER(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: VSPLAY_LEFT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_LEFT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: VSPLAY_RIGHT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_RIGHT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: VSPLAY_ROOT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_ROOT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: VSPLAY_EMPTY
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: VSPLAY_PROTOTYPE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_PROTOTYPE(name, type, field, cmp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSPLAY_EMPTY
      Src: /src/vinyl-cache/include/vtree.h:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: _VSPLAY_FIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached:
    - VSPLAY_EMPTY
    linkageType: ''
    returnType: v_unused_
    signature: "v_unused_ *\t\t\t\t\t\\\nname##_VSPLAY_FIND(struct name *head, struct
      type *elm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSPLAY_RIGHT
      Src: /src/vinyl-cache/include/vtree.h:161,1
    - Dst: VSPLAY_RIGHT
      Src: /src/vinyl-cache/include/vtree.h:162,1
    - Dst: VSPLAY_LEFT
      Src: /src/vinyl-cache/include/vtree.h:163,1
    - Dst: VSPLAY_LEFT
      Src: /src/vinyl-cache/include/vtree.h:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - head
    - elm
    argTypes:
    - struct name*
    - struct type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: _VSPLAY_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached:
    - VSPLAY_LEFT
    - VSPLAY_RIGHT
    linkageType: ''
    returnType: v_unused_
    signature: "v_unused_ *\t\t\t\t\t\\\nname##_VSPLAY_NEXT(struct name *head, struct
      type *elm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSPLAY_ROOT
      Src: /src/vinyl-cache/include/vtree.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - head
    - val
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: _VSPLAY_MIN_MAX
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached:
    - VSPLAY_ROOT
    linkageType: ''
    returnType: v_unused_
    signature: "v_unused_ *\t\t\t\t\t\\\nname##_VSPLAY_MIN_MAX(struct name *head,
      int val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 264
    functionName: VSPLAY_GENERATE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_GENERATE(name, type, field, cmp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: VSPLAY_LEFT
      Src: /src/vinyl-cache/include/vtree.h:269,1
    - Dst: VSPLAY_RIGHT
      Src: /src/vinyl-cache/include/vtree.h:269,1
    - Dst: VSPLAY_LEFT
      Src: /src/vinyl-cache/include/vtree.h:274,1
    - Dst: VSPLAY_ROTATE_RIGHT
      Src: /src/vinyl-cache/include/vtree.h:278,1
    - Dst: VSPLAY_LEFT
      Src: /src/vinyl-cache/include/vtree.h:279,1
    - Dst: VSPLAY_LINKLEFT
      Src: /src/vinyl-cache/include/vtree.h:282,1
    - Dst: VSPLAY_RIGHT
      Src: /src/vinyl-cache/include/vtree.h:284,1
    - Dst: VSPLAY_ROTATE_LEFT
      Src: /src/vinyl-cache/include/vtree.h:288,1
    - Dst: VSPLAY_RIGHT
      Src: /src/vinyl-cache/include/vtree.h:289,1
    - Dst: VSPLAY_LINKRIGHT
      Src: /src/vinyl-cache/include/vtree.h:292,1
    - Dst: VSPLAY_ASSEMBLE
      Src: /src/vinyl-cache/include/vtree.h:295,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - head
    - __comp
    argTypes:
    - struct name*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 296
    functionName: _VSPLAY_MINMAX
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached:
    - VSPLAY_ASSEMBLE
    - VSPLAY_ROTATE_RIGHT
    - VSPLAY_ROTATE_LEFT
    - VSPLAY_LINKLEFT
    - VSPLAY_LEFT
    - VSPLAY_RIGHT
    - VSPLAY_LINKRIGHT
    linkageType: ''
    returnType: void
    signature: void _VSPLAY_MINMAX(struct name *head, int __comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: VSPLAY_INSERT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_INSERT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: VSPLAY_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_REMOVE(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: VSPLAY_FIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_FIND(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: VSPLAY_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_NEXT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: VSPLAY_MIN
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_MIN(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: VSPLAY_MAX
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_MAX(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: VSPLAY_FOREACH
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSPLAY_FOREACH(x, name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - root
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: VRBT_INITIALIZER
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_INITIALIZER(root)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: VRBT_ENTRY
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - dir
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: _VRBT_LINK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_LINK(elm, dir, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: _VRBT_UP
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_UP(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: _VRBT_BITS
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_BITS(elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: _VRBT_BITSUP
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_BITSUP(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - op
    - ','
    - dir
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: _VRBT_PTR_OP
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_PTR_OP(elm, op, dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 350
    functionName: _VRBT_PTR
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_PTR(elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - dir
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 351
    functionName: _VRBT_MOD_OR
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_MOD_OR(elm, dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - dir
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: _VRBT_MOD_XOR
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_MOD_XOR(elm, dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 354
    functionName: VRBT_PARENT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PARENT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: VRBT_LEFT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_LEFT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    functionName: VRBT_RIGHT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_RIGHT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 357
    functionName: VRBT_ROOT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_ROOT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: VRBT_EMPTY
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: VRBT_AUGMENT_CHECK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_AUGMENT_CHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: VRBT_AUGMENT_CHECK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_AUGMENT_CHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: VRBT_UPDATE_AUGMENT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_UPDATE_AUGMENT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 421
    functionName: VRBT_PROTOTYPE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE(name, type, field, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: VRBT_PROTOTYPE_STATIC
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_STATIC(name, type, field, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 438
    functionName: VRBT_PROTOTYPE_INTERNAL
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_INTERNAL(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: VRBT_PROTOTYPE_RANK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_RANK(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: VRBT_PROTOTYPE_INSERT_COLOR
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_INSERT_COLOR(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 450
    functionName: VRBT_PROTOTYPE_REMOVE_COLOR
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_REMOVE_COLOR(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: VRBT_PROTOTYPE_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_REMOVE(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: VRBT_PROTOTYPE_INSERT_FINISH
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_INSERT_FINISH(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: VRBT_PROTOTYPE_INSERT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_INSERT(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: VRBT_PROTOTYPE_FIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_FIND(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: VRBT_PROTOTYPE_NFIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_NFIND(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: VRBT_PROTOTYPE_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_NEXT(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 466
    functionName: VRBT_PROTOTYPE_INSERT_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_INSERT_NEXT(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: VRBT_PROTOTYPE_PREV
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_PREV(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: VRBT_PROTOTYPE_INSERT_PREV
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_INSERT_PREV(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: VRBT_PROTOTYPE_MINMAX
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_MINMAX(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: VRBT_PROTOTYPE_REINSERT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PROTOTYPE_REINSERT(name, type, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: VRBT_GENERATE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE(name, type, field, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: VRBT_GENERATE_STATIC
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_STATIC(name, type, field, cmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: VRBT_GENERATE_INTERNAL
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_INTERNAL(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 502
    functionName: _VRBT_AUGMENT_VERIFY
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_AUGMENT_VERIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: _VRBT_AUGMENT_VERIFY
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_AUGMENT_VERIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 531
    functionName: VRBT_GENERATE_RANK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_RANK(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 550
    functionName: VRBT_GENERATE_INSERT_COLOR
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_INSERT_COLOR(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 663
    functionName: VRBT_GENERATE_REMOVE_COLOR
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_REMOVE_COLOR(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - match
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 782
    functionName: _VRBT_AUGMENT_WALK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_AUGMENT_WALK(elm, match, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 817
    functionName: VRBT_GENERATE_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_REMOVE(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 854
    functionName: VRBT_GENERATE_INSERT_FINISH
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_INSERT_FINISH(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 880
    functionName: VRBT_GENERATE_INSERT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_INSERT(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 899
    functionName: VRBT_GENERATE_FIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_FIND(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 921
    functionName: VRBT_GENERATE_NFIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_NFIND(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 939
    functionName: VRBT_GENERATE_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_NEXT(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cmp
    - ','
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 944
    functionName: _VRBT_ORDER_CHECK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_ORDER_CHECK(cmp, lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cmp
    - ','
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 946
    functionName: _VRBT_ORDER_CHECK
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VRBT_ORDER_CHECK(cmp, lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 966
    functionName: VRBT_GENERATE_INSERT_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_INSERT_NEXT(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 984
    functionName: VRBT_GENERATE_PREV
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_PREV(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1003
    functionName: VRBT_GENERATE_INSERT_PREV
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_INSERT_PREV(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1019
    functionName: VRBT_GENERATE_MINMAX
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_MINMAX(name, type, field, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - type
    - ','
    - field
    - ','
    - cmp
    - ','
    - attr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1029
    functionName: VRBT_GENERATE_REINSERT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_GENERATE_REINSERT(name, type, field, cmp, attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1040
    functionName: VRBT_INSERT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_INSERT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1041
    functionName: VRBT_INSERT_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_INSERT_NEXT(name, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1042
    functionName: VRBT_INSERT_PREV
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_INSERT_PREV(name, x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1043
    functionName: VRBT_REMOVE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_REMOVE(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1044
    functionName: VRBT_FIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_FIND(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1045
    functionName: VRBT_NFIND
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_NFIND(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1046
    functionName: VRBT_NEXT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_NEXT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1047
    functionName: VRBT_PREV
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_PREV(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1048
    functionName: VRBT_MIN
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_MIN(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1049
    functionName: VRBT_MAX
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_MAX(name, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1050
    functionName: VRBT_REINSERT
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_REINSERT(name, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1055
    functionName: VRBT_FOREACH
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_FOREACH(x, name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    functionName: VRBT_FOREACH_FROM
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_FOREACH_FROM(x, name, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1065
    functionName: VRBT_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_FOREACH_SAFE(x, name, head, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1070
    functionName: VRBT_FOREACH_REVERSE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_FOREACH_REVERSE(x, name, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: VRBT_FOREACH_REVERSE_FROM
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_FOREACH_REVERSE_FROM(x, name, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - name
    - ','
    - head
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1080
    functionName: VRBT_FOREACH_REVERSE_SAFE
    functionSourceFile: /src/vinyl-cache/include/vtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VRBT_FOREACH_REVERSE_SAFE(x, name, head, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - s
    - ','
    - h
    - ','
    - d
    - ','
    - m
    - ','
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: CLI_CMD
    functionSourceFile: /src/vinyl-cache/include/vcli_serve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLI_CMD(U,l,s,h,d,m,M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: vbe16dec
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t vbe16dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: vbe32dec
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t vbe32dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32dec
      Src: /src/vinyl-cache/include/vend.h:60,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/include/vend.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: vbe64dec
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 9
    functionsReached:
    - vbe32dec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t vbe64dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: vle16dec
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t vle16dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: vle32dec
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t vle32dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vle32dec
      Src: /src/vinyl-cache/include/vend.h:87,1
    - Dst: vle32dec
      Src: /src/vinyl-cache/include/vend.h:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: vle64dec
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 0
    functionsReached:
    - vle32dec
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t vle64dec(const void *pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: vbe16enc
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vbe16enc(void *pp, uint16_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: vbe32enc
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vbe32enc(void *pp, uint32_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32enc
      Src: /src/vinyl-cache/include/vend.h:116,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/include/vend.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: vbe64enc
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 7
    functionsReached:
    - vbe32enc
    linkageType: ''
    returnType: void
    signature: void vbe64enc(void *pp, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: vle16enc
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vle16enc(void *pp, uint16_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: vle32enc
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vle32enc(void *pp, uint32_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vle32enc
      Src: /src/vinyl-cache/include/vend.h:146,1
    - Dst: vle32enc
      Src: /src/vinyl-cache/include/vend.h:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - u
    argTypes:
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: vle64enc
    functionSourceFile: /src/vinyl-cache/include/vend.h
    functionUses: 0
    functionsReached:
    - vle32enc
    linkageType: ''
    returnType: void
    signature: void vle64enc(void *pp, uint64_t u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - max
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: VPI_count
    functionSourceFile: /src/vinyl-cache/include/vcc_interface.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VPI_count(ctx, max, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: vct_is
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vct_is(int x, uint16_t y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: vct_isows
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isows(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: vct_issp
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_issp(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: vct_ishex
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_ishex(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: vct_islws
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_islws(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: vct_isctl
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isctl(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: vct_isspace
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isspace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: vct_isdigit
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isdigit(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: vct_isalpha
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isalpha(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: vct_islower
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_islower(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: vct_isupper
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isupper(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: vct_isalnum
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isalnum(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: vct_isbase64
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isbase64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: vct_issep
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_issep(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: vct_issepctl
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_issepctl(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: vct_isident1
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isident1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: vct_isident
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isident(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: vct_isxmlnamestart
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isxmlnamestart(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: vct_isxmlname
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_isxmlname(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: vct_istchar
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_istchar(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: vct_ishdrval
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vct_ishdrval(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/include/vct.h:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (p <= end)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/include/vct.h
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: vct_iscrlf
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vct_iscrlf(const char* p, const char* end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/include/vct.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: vct_skipcrlf
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached:
    - vct_iscrlf
    linkageType: ''
    returnType: char
    signature: 'char *

      vct_skipcrlf(char* p, const char* end)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: vct_casecmp
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vct_casecmp(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/include/vct.h:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - sz
    argTypes:
    - void*
    - void*
    - ssize_t
    assertStmts:
    - condition: (sz >= 0)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vinyl-cache/include/vct.h
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: vct_caselencmp
    functionSourceFile: /src/vinyl-cache/include/vct.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vct_caselencmp(const void *a, const void *b, ssize_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: tv_vtim
    functionSourceFile: /src/vinyl-cache/include/vtim.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tv_vtim(tv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ts_vtim
    functionSourceFile: /src/vinyl-cache/include/vtim.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ts_vtim(ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: VTCP_Assert
    functionSourceFile: /src/vinyl-cache/include/vtcp.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTCP_Assert(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: vinyl_daemon
    functionSourceFile: /src/vinyl-cache/include/compat/daemon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vinyl_daemon(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vf
    - ','
    - vd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: VSM_FOREACH
    functionSourceFile: /src/vinyl-cache/include/vapi/vsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSM_FOREACH(vf, vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - s
    - ','
    - d
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: VOPT
    functionSourceFile: /src/vinyl-cache/include/vapi/voptget.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VOPT(o,s,d,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - s
    - ','
    - d
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: VOPT
    functionSourceFile: /src/vinyl-cache/include/vapi/voptget.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VOPT(o,s,d,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - s
    - ','
    - d
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: VOPT
    functionSourceFile: /src/vinyl-cache/include/vapi/voptget.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VOPT(o,s,d,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - o
    - ','
    - s
    - ','
    - d
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: VOPT
    functionSourceFile: /src/vinyl-cache/include/vapi/voptget.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VOPT(o,s,d,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: VSL_WORDS
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_WORDS(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - words
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: VSL_BYTES
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_BYTES(words)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: VSL_END
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_END(ptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: VSL_NEXT
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_NEXT(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: VSL_LEN
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_LEN(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: VSL_VER
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_VER(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: VSL_TAG
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_TAG(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: VSL_ID64
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_ID64(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: VSL_ID
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_ID(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: VSL_CLIENT
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_CLIENT(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: VSL_BACKEND
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_BACKEND(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: VSL_DATA
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_DATA(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: VSL_CDATA
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_CDATA(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: VSL_BATCHLEN
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_BATCHLEN(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: VSL_BATCHID
    functionSourceFile: /src/vinyl-cache/include/vapi/vsl_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_BATCHID(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: VSIG_SIGNAL
    functionSourceFile: /src/vinyl-cache/include/vapi/vsig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSIG_SIGNAL(UPPER, lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: WCOREDUMP
    functionSourceFile: /src/vinyl-cache/include/vapi/vsig.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WCOREDUMP(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: WCOREDUMP
    functionSourceFile: /src/vinyl-cache/include/vapi/vsig.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WCOREDUMP(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct VSC_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: VSC_Value
    functionSourceFile: /src/vinyl-cache/include/vapi/vsc.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t VSC_Value(const struct VSC_point * const pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lower
    - ','
    - vcl_r
    - ','
    - vcl_w
    - ','
    - doc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: REQ_BEREQ_FLAG
    functionSourceFile: /src/vinyl-cache/include/tbl/req_flags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_BEREQ_FLAG(lower, vcl_r, vcl_w, doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: H
    functionSourceFile: /src/vinyl-cache/include/tbl/http_headers.h
    functionUses: 186
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(s,e,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nm
    - ','
    - typ
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: PARAM_SIMPLE
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_SIMPLE(nm, typ, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1330
    functionName: H2_SETTING_NAME
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING_NAME(nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1334
    functionName: H2_SETTING_DESCR
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2_SETTING_DESCR(nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - nm
    - ','
    - tw
    - ','
    - pv
    - ','
    - def
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1785
    functionName: PARAM_STRING
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_STRING(nm, tw, pv, def, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - nm
    - ','
    - pv
    - ','
    - min
    - ','
    - def
    - ','
    - descr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1884
    functionName: PARAM_PCRE2
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_PCRE2(nm, pv, min, def, descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - al
    - ','
    - nm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1931
    functionName: PARAM_ALIAS
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_ALIAS(al, nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nm
    - ','
    - fld
    - ','
    - def
    - ','
    - descr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1949
    functionName: PARAM_BITS
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARAM_BITS(nm, fld, def, descr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1961
    functionName: DEBUG_BIT
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_BIT(U, l, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1976
    functionName: EXPERIMENTAL_BIT
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPERIMENTAL_BIT(U, l, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 1996
    functionName: FEATURE_BIT
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FEATURE_BIT(U, l, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2015
    functionName: VCC_FEATURE_BIT
    functionSourceFile: /src/vinyl-cache/include/tbl/params.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_FEATURE_BIT(U, l, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - ind
    - ','
    - req
    - ','
    - resp
    - ','
    - sdesc
    - ','
    - ldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: SLTH
    functionSourceFile: /src/vinyl-cache/include/tbl/vsl_tags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLTH(tag, ind, req, resp, sdesc, ldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - ind
    - ','
    - req
    - ','
    - resp
    - ','
    - sdesc
    - ','
    - ldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: SLTH
    functionSourceFile: /src/vinyl-cache/include/tbl/vsl_tags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLTH(tag, ind, req, resp, sdesc, ldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - ind
    - ','
    - req
    - ','
    - resp
    - ','
    - sdesc
    - ','
    - ldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: SLTH
    functionSourceFile: /src/vinyl-cache/include/tbl/vsl_tags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLTH(tag, ind, req, resp, sdesc, ldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - ind
    - ','
    - req
    - ','
    - resp
    - ','
    - sdesc
    - ','
    - ldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: SLTH
    functionSourceFile: /src/vinyl-cache/include/tbl/vsl_tags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLTH(tag, ind, req, resp, sdesc, ldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - ind
    - ','
    - req
    - ','
    - resp
    - ','
    - sdesc
    - ','
    - ldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: SLTH
    functionSourceFile: /src/vinyl-cache/include/tbl/vsl_tags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLTH(tag, ind, req, resp, sdesc, ldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - STATE
    - ','
    - pfx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: VHD_FSM_INTEGER
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_INTEGER(STATE, pfx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - STATE
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: VHD_FSM_GOTO
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_GOTO(STATE, TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: VHD_FSM_LABEL
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_LABEL(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: VHD_FSM_SET_MAX
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_SET_MAX(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: VHD_FSM_SET_IDX
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_SET_IDX(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - STATE
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: VHD_FSM_LOOKUP
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_LOOKUP(STATE, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: VHD_FSM_NEW
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_NEW(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STATE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: VHD_FSM_NEW_IDX
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_NEW_IDX(STATE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - STATE
    - ','
    - BRANCH
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: VHD_FSM_BRANCH_ZIDX
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_BRANCH_ZIDX(STATE, BRANCH)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - STATE
    - ','
    - BRANCH
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: VHD_FSM_BRANCH_BIT0
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_BRANCH_BIT0(STATE, BRANCH)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - STATE
    - ','
    - type
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: VHD_FSM_LITERAL
    functionSourceFile: /src/vinyl-cache/include/tbl/vhd_fsm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VHD_FSM_LITERAL(STATE, type, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lower
    - ','
    - vcl_r
    - ','
    - vcl_w
    - ','
    - doc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: REQ_BEREQ_FLAG
    functionSourceFile: /src/vinyl-cache/include/tbl/bereq_flags.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQ_BEREQ_FLAG(lower, vcl_r, vcl_w, doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tl
    - ','
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: L
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 1156
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: L(tl, foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tl
    - ','
    - sep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: C
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(tl, sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:67,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:68,1
    - Dst: L
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:69,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:69,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:70,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:71,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: vcc_Conditional
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 0
    functionsReached:
    - SkipToken
    - vcc_Expr
    - ERRCHK
    - L
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_Conditional(struct vcc *tl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:92,1
    - Dst: vcc_Conditional
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:93,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:94,1
    - Dst: L
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:95,1
    - Dst: vcc_Compound
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:95,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:96,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:98,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:99,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:101,1
    - Dst: L
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:102,1
    - Dst: vcc_Compound
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:102,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:103,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:106,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:107,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:109,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:112,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:113,1
    - Dst: vcc_Conditional
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:114,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:115,1
    - Dst: L
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:116,1
    - Dst: vcc_Compound
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:116,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:117,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:118,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:119,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:120,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:121,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:122,1
    - Dst: vcc_Conditional
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:123,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:124,1
    - Dst: L
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:125,1
    - Dst: vcc_Compound
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:125,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:126,1
    - Dst: C
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 132
    functionName: vcc_Act_If
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 0
    functionsReached:
    - C
    - vcc_IdIs
    - VSB_printf
    - vcc_Compound
    - vcc_NextToken
    - ERRCHK
    - vcc_Conditional
    - L
    - vcc_ErrWhere
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_Act_If(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:152,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:153,1
    - Dst: C
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:155,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:156,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:158,1
    - Dst: vcc_Compound
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:162,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:165,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:167,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:171,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:174,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:176,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:178,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:182,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:187,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:190,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:191,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:195,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:197,1
    - Dst: vcc_AddUses
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:201,1
    - Dst: struct symbol*::action
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:202,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:206,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:208,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 213
    functionName: vcc_Compound
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 2
    functionsReached:
    - VCC_SymbolGet
    - SkipToken
    - VSB_printf
    - vcc_Compound
    - struct symbol*::action
    - vcc_AddUses
    - vcc_NextToken
    - ERRCHK
    - Fb
    - vcc_ErrWhere
    - C
    linkageType: ''
    returnType: void
    signature: void vcc_Compound(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:225,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:226,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:228,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:229,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:230,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:233,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:234,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:238,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:239,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:240,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 243
    functionName: vcc_ParseUnused
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 0
    functionsReached:
    - VCC_SymbolGet
    - AN
    - vcc_ErrWhere2
    - SkipToken
    - VSB_printf
    - New_IniFin
    - vcc_NextToken
    - ExpectErr
    - ERRCHK
    linkageType: ''
    returnType: void
    signature: void vcc_ParseUnused(struct vcc *tl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:258,1
    - Dst: vcc_ExpectVid
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:259,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:260,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:263,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:264,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:265,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:269,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:271,1
    - Dst: vcc_Has_vcl_prefix
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:279,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:280,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:282,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:283,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:284,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:286,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:287,1
    - Dst: VCC_GlobalSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:291,1
    - Dst: vcc_NewProc
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:292,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:294,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:296,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:297,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:298,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:299,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:306,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:308,1
    - Dst: vcc_Coord
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:309,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:310,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:313,1
    - Dst: L
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:314,1
    - Dst: vcc_Compound
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:314,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:315,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 319
    functionName: vcc_ParseFunction
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 0
    functionsReached:
    - vcc_NewProc
    - VCC_SymbolGet
    - AN
    - VCC_GlobalSymbol
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - vcc_Compound
    - vcc_Has_vcl_prefix
    - vcc_Coord
    - AZ
    - vcc_NextToken
    - ERRCHK
    - pdiff
    - Fb
    - L
    - VTAILQ_FOREACH
    - vcc_ErrWhere
    - vcc_ExpectVid
    linkageType: ''
    returnType: void
    signature: void vcc_ParseFunction(struct vcc *tl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:330,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:330,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:332,1
    - Dst: Expect
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:334,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:336,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:338,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:339,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:342,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:345,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:347,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:348,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:356,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:357,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:358,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:360,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:364,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:368,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts:
    - condition: (vcc_IdIs(tl->t, "vcl"))
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    constantsTouched: []
    func_position:
      end: 371
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 371
    functionName: vcc_ParseVcl
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 0
    functionsReached:
    - vcc_IdIs
    - vcc_ErrWhere2
    - VSB_printf
    - assert
    - vcc_NextToken
    - VSB_cat
    - ERRCHK
    - Expect
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_ParseVcl(struct vcc *tl)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:408,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:409,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:410,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:416,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:417,1
    - Dst: vcc_ParseVcl
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:419,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:420,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:421,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:423,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:427,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:430,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:432,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:433,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:442,1
    - Dst: struct toplev*::func
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:444,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:452,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:455,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:456,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:458,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:460,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:461,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:462,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:463,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:467,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 468
    functionName: vcc_Parse
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - vcc_ParseVcl
    - AN
    - vcc_IdIs
    - VSB_printf
    - AZ
    - vcc_NextToken
    - struct toplev*::func
    - VSB_cat
    - ERRCHK
    - vcc_ErrWhere
    - Fc
    linkageType: ''
    returnType: void
    signature: void vcc_Parse(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:476,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_parse.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: vcc_Parse_Init
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    functionUses: 0
    functionsReached:
    - AN
    - VCC_MkSym
    linkageType: ''
    returnType: void
    signature: void vcc_Parse_Init(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: VCC_KIND
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_KIND(U,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: VCC_NAMESPACE
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_NAMESPACE(U, l)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: VCC_HandleKind
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - AZ
    linkageType: ''
    returnType: vcc_kind_t
    signature: vcc_kind_t VCC_HandleKind(vcc_type_t fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:95,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:96,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:99,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:100,1
    - Dst: vct_isalnum
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:103,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:104,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - vsb
    - b
    - e
    argTypes:
    - struct vsb*
    - char*
    - char*
    assertStmts:
    - condition: (b < e)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: VCC_PrintCName
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - VSB_printf
    - assert
    - vct_isalnum
    - strchr
    linkageType: ''
    returnType: void
    signature: void VCC_PrintCName(struct vsb *vsb, const char *b, const char *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_symtabname
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:113,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:114,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vsb
    - st
    argTypes:
    - struct vsb*
    - struct symtab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: vcc_symtabname
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 1
    functionsReached:
    - vcc_symtabname
    - VSB_cat
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void vcc_symtabname(struct vsb *vsb, const struct symtab *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:122,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:123,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:124,1
    - Dst: vcc_symtabname
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vsb
    - sym
    argTypes:
    - struct vsb*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: VCC_SymName
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - vcc_symtabname
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCC_SymName(struct vsb *vsb, const struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:133,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:134,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:136,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:137,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: vcc_symtab_new
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - strlen
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct symtab
    signature: 'struct symtab *

      vcc_symtab_new(const char *name)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:150,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:152,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:160,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:161,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:162,1
    - Dst: vcc_symtab_new
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:167,1
    - Dst: vcc_Dup_be
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:167,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:169,1
    - Dst: vcc_symtab_new
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:174,1
    - Dst: vcc_Dup_be
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:174,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - st
    - b
    - e
    - tok
    argTypes:
    - struct symtab*
    - char*
    - char*
    - unsigned
    assertStmts:
    - condition: (tok == ID || tok == CSTR)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 182
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 182
    functionName: vcc_symtab_str
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - vcc_Dup_be
    - assert
    - pdiff
    - strchr
    - VTAILQ_INSERT_BEFORE
    - VTAILQ_FOREACH
    - strncasecmp
    - vcc_symtab_new
    linkageType: ''
    returnType: struct symtab
    signature: 'struct symtab *

      vcc_symtab_str(struct symtab *st, const char *b, const char *e, unsigned tok)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:190,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:192,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - tl
    - st
    - kind
    - vlo
    - vhi
    argTypes:
    - struct vcc*
    - struct symtab*
    - vcc_kind_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: vcc_new_symbol
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - TlAlloc
    - AN
    - INIT_OBJ
    linkageType: ''
    returnType: struct symbol
    signature: "struct symbol *\nvcc_new_symbol(struct vcc *tl, struct symtab *st,\n
      \   vcc_kind_t kind, int vlo, int vhi)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:210,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:216,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:225,1
    - Dst: vcc_new_symbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:231,1
    - Dst: wildcard
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:232,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 5
    argNames:
    - tl
    - st
    - kind
    - vlo
    - vhi
    argTypes:
    - struct vcc*
    - struct symtab*
    - vcc_kind_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 236
    functionName: vcc_sym_in_tab
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - wildcard
    - strcmp
    - vcc_new_symbol
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: struct symbol
    signature: "struct symbol *\nvcc_sym_in_tab(struct vcc *tl, struct symtab *st,\n
      \   vcc_kind_t kind, int vlo, int vhi)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:275,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:276,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:277,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:278,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:279,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:280,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:281,1
    - Dst: vcc_Has_vcl_prefix
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:283,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:284,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:285,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:294,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:296,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:299,1
    - Dst: vcc_symtab_str
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:303,1
    - Dst: vcc_symtab_str
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:305,1
    - Dst: vcc_sym_in_tab
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:306,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:312,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:315,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:323,1
    - Dst: vcc_symtab_str
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:324,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:325,1
    - Dst: vcc_sym_in_tab
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:327,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:328,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:340,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:341,1
    - Dst: vcc_new_symbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:343,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:344,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:348,1
    - Dst: vcc_PrintTokens
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:349,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:350,1
    - Dst: vcc_sym_in_tab
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:351,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:354,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:356,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:357,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:359,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:360,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:362,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:363,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:367,1
    - Dst: vcc_PrintTokens
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:368,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:369,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:371,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:372,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:374,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:375,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:377,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:378,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:380,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:393,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 118
    argCount: 5
    argNames:
    - tl
    - ns
    - kind
    - e
    - x
    argTypes:
    - struct vcc*
    - vcc_ns_t
    - vcc_kind_t
    - struct symmode*
    - struct symxref*
    assertStmts:
    - condition: (x == XREF_NONE)
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    - condition: (tn->tok == ID)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    - condition: (tn->tok == ID || tn->tok == CSTR)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    - condition: (ns == SYM_MAIN)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 396
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 396
    functionName: VCC_SymbolGet
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 3
    functionsReached:
    - AN
    - vcc_PeekTokenFrom
    - CHECK_OBJ_NOTNULL
    - vcc_ErrWhere2
    - VSB_printf
    - vcc_PrintTokens
    - vcc_Has_vcl_prefix
    - vcc_symtab_str
    - assert
    - VSB_cat
    - vcc_new_symbol
    - vcc_ErrWhere
    - vcc_sym_in_tab
    linkageType: ''
    returnType: struct symbol
    signature: "struct symbol *\nVCC_SymbolGet(struct vcc *tl, vcc_ns_t ns, vcc_kind_t
      kind,\n    const struct symmode *e, const struct symxref *x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:405,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:406,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:407,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:407,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:408,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:408,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:411,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:412,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:413,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:417,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - tl
    - ns
    - kind
    - type
    argTypes:
    - struct vcc*
    - vcc_ns_t
    - vcc_kind_t
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: vcc_TypeSymbol
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - VCC_SymbolGet
    - AN
    - memcpy
    - VSB_finish
    - VSB_printf
    - AZ
    - PF
    - VSB_len
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: struct symbol
    signature: 'struct symbol *

      vcc_TypeSymbol(struct vcc *tl, vcc_ns_t ns, vcc_kind_t kind, vcc_type_t type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:428,1
    - Dst: vcc_TypeSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:429,1
    - Dst: vcc_TypeSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tl
    - kind
    - type
    argTypes:
    - struct vcc*
    - vcc_kind_t
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: VCC_TypeSymbol
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - vcc_TypeSymbol
    - strchr
    linkageType: ''
    returnType: struct symbol
    signature: 'struct symbol *

      VCC_TypeSymbol(struct vcc *tl, vcc_kind_t kind, vcc_type_t type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:443,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:444,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:445,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:446,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:447,1
    - Dst: vcc_symtab_new
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:450,1
    - Dst: vcc_symtab_str
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:451,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:452,1
    - Dst: vcc_sym_in_tab
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:453,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:455,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:457,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:458,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:459,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:462,1
    - Dst: vcc_new_symbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:463,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 6
    argNames:
    - tl
    - b
    - ns
    - kind
    - vlo
    - vhi
    argTypes:
    - struct vcc*
    - char*
    - vcc_ns_t
    - vcc_kind_t
    - int
    - int
    assertStmts:
    - condition: (vlo <= vhi)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    - condition: (sym->kind == SYM_VAR)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    - condition: (sym->type == parent->type)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 467
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 467
    functionName: VCC_MkSym
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 1
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vcc_symtab_str
    - assert
    - AZ
    - vcc_new_symbol
    - vcc_symtab_new
    - vcc_sym_in_tab
    linkageType: ''
    returnType: struct symbol
    signature: "struct symbol *\nVCC_MkSym(struct vcc *tl, const char *b, vcc_ns_t
      ns, vcc_kind_t kind,\n    int vlo, int vhi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:475,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:476,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:477,1
    - Dst: vcc_symtab_str
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:479,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:480,1
    - Dst: vcc_sym_in_tab
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:481,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:482,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:483,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:484,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:486,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:487,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - tl
    - alias
    - name
    argTypes:
    - struct vcc*
    - char*
    - char*
    assertStmts:
    - condition: (sym->kind != SYM_ALIAS)
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 490
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 490
    functionName: VCC_MkSymAlias
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - VCC_MkSym
    - AN
    - strdup
    - vcc_symtab_str
    - assert
    - vcc_sym_in_tab
    linkageType: ''
    returnType: struct symbol
    signature: 'struct symbol *

      VCC_MkSymAlias(struct vcc *tl, const char *alias, const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:499,1
    - Dst: func
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:501,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:502,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:504,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:506,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:506,1
    - Dst: vcc_walksymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:508,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - tl
    - root
    - func
    - kind
    argTypes:
    - struct vcc*
    - struct symtab*
    - symwalk_f*
    - vcc_kind_t
    assertStmts:
    - condition: (strcasecmp(st1->name, st2->name) >= 0)
      pos:
        line_end: 505
        line_start: 505
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 511
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 511
    functionName: vcc_walksymbols
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 1
    functionsReached:
    - vcc_walksymbols
    - strcasecmp
    - assert
    - func
    - ERRCHK
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void vcc_walksymbols(struct vcc *tl, const struct symtab *root,\n
      \   symwalk_f *func, vcc_kind_t kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:517,1
    - Dst: vcc_walksymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - tl
    - func
    - ns
    - kind
    argTypes:
    - struct vcc*
    - symwalk_f*
    - vcc_ns_t
    - vcc_kind_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: VCC_WalkSymbols
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - vcc_walksymbols
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCC_WalkSymbols(struct vcc *tl, symwalk_f *func, vcc_ns_t ns,
      vcc_kind_t kind)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:527,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:528,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:529,1
    - Dst: VCC_HandleKind
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:531,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:534,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:535,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:536,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:540,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:541,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:542,1
    - Dst: VCC_PrintCName
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:543,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:544,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:544,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:545,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:545,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:546,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:548,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:549,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:550,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:550,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:552,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:552,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:553,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:554,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:559,1
    - Dst: VCT_invalid_name
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:559,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - sym
    - type
    argTypes:
    - struct symbol*
    - vcc_type_t
    assertStmts:
    - condition: (sym->kind == kind)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    - condition: (sym->type == type)
      pos:
        line_end: 534
        line_start: 534
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 570
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 570
    functionName: VCC_GlobalSymbol
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 1
    functionsReached:
    - AN
    - VCC_HandleKind
    - VCT_invalid_name
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - VSB_printf
    - strdup
    - VSB_clear
    - AZ
    - assert
    - VCC_PrintCName
    - WRONG
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void VCC_GlobalSymbol(struct symbol *sym, vcc_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 569
    functionName: VCL_MET_MAC
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_MET_MAC(l,u,t,b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:580,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:581,1
    - Dst: VCC_HandleKind
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:585,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:586,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:589,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:592,1
    - Dst: toupper
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:593,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:593,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:594,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:595,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:596,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:597,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:600,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:600,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:601,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:602,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:603,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:604,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:607,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:609,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:610,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:614,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:618,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:619,1
    - Dst: VCC_GlobalSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_symb.c:620,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - tl
    - fmt
    argTypes:
    - struct vcc*
    - vcc_type_t
    assertStmts:
    - condition: (kind != SYM_NONE)
      pos:
        line_end: 585
        line_start: 585
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    constantsTouched: []
    func_position:
      end: 625
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 625
    functionName: VCC_HandleSymbol
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    functionUses: 0
    functionsReached:
    - toupper
    - VCC_SymbolGet
    - AN
    - vcc_IdIs
    - VCC_HandleKind
    - VCC_GlobalSymbol
    - VSB_printf
    - PF
    - vcc_NextToken
    - assert
    - AZ
    - VSB_cat
    - vcc_ErrWhere
    linkageType: ''
    returnType: struct symbol
    signature: 'struct symbol *

      VCC_HandleSymbol(struct vcc *tl, vcc_type_t fmt)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:62,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:65,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:67,1
    - Dst: Resolve_Sockaddr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:68,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:70,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:72,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:77,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - tl
    - vsb1
    - t_host
    - t_port
    argTypes:
    - struct vcc*
    - struct vsb*
    - struct token*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 82
    functionName: Emit_Sockaddr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - AN
    - bprintf
    - VSB_printf
    - VSB_cat
    - ERRCHK
    - Resolve_Sockaddr
    linkageType: ''
    returnType: void
    signature: "void Emit_Sockaddr(struct vcc *tl, struct vsb *vsb1, const struct
      token *t_host,\n    const struct token *t_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: isip
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - VSS_ResolveOne
    linkageType: ''
    returnType: int
    signature: int isip(const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - uds
    argTypes:
    - void*
    - struct sockaddr_un*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: uds_resolved
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uds_resolved(void *priv, const struct sockaddr_un *uds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:113,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:114,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vsb1
    - path
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: emit_path
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void emit_path(struct vsb *vsb1, char *path)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:125,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:126,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:128,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:129,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:132,1
    - Dst: VUS_resolver
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:135,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:136,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:137,1
    - Dst: emit_path
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:141,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:144,1
    - Dst: stat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:146,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:148,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:149,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:150,1
    - Dst: vcc_Warn
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:152,1
    - Dst: S_ISSOCK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:155,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:156,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:157,1
    - Dst: emit_path
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - tl
    - vsb1
    - t_path
    - errid
    argTypes:
    - struct vcc*
    - struct vsb*
    - struct token*
    - char*
    assertStmts:
    - condition: (*t_path->dec == '/')
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    constantsTouched: []
    func_position:
      end: 161
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 161
    functionName: Emit_UDS_Path
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - AN
    - VUS_resolver
    - emit_path
    - stat
    - vcc_Warn
    - VSB_printf
    - strerror
    - assert
    - S_ISSOCK
    - VUS_is
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: "void Emit_UDS_Path(struct vcc *tl, struct vsb *vsb1,\n    const struct
      token *t_path, const char *errid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:172,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:173,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:174,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - tl
    - redef
    - t_did
    - t_field
    argTypes:
    - struct vcc*
    - char*
    - struct token**
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: vcc_Redef
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSB_cat
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: "void vcc_Redef(struct vcc *tl, const char *redef, const struct token
      **t_did,\n    const struct token *t_field)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: vcc_FldSpec
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:197,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:209,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:214,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:217,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:218,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:220,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:222,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:225,1
    - Dst: vcc_IsField
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:235,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:236,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:237,1
    - Dst: vcc_Redef
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:238,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:239,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:240,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:241,1
    - Dst: EncToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:242,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:243,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:244,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:245,1
    - Dst: vcc_Redef
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:246,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:247,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:248,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:249,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:251,1
    - Dst: EncToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:252,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:253,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:254,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:256,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:257,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:258,1
    - Dst: vcc_Duration
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:259,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:260,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:261,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:262,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:263,1
    - Dst: vcc_Duration
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:264,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:265,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:266,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:267,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:269,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:270,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:271,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:273,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:274,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:275,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:276,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:278,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:282,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:285,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:286,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:288,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:289,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:290,1
    - Dst: vcc_BoolVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:291,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:292,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:294,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:295,1
    - Dst: ErrInternal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:296,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:300,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:302,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:306,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:308,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:312,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:314,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:319,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:320,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:321,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:325,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:327,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:328,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:329,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:330,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:332,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:333,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:336,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:338,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:340,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:341,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:342,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:343,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 135
    argCount: 3
    argNames:
    - tl
    - sym
    - namep
    argTypes:
    - struct vcc*
    - struct symbol*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 344
    functionName: vcc_ParseProbeSpec
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - SkipToken
    - vcc_IsField
    - ErrInternal
    - ERRCHK
    - TlDup
    - vcc_UintVal
    - AN
    - vcc_Redef
    - vcc_FldSpec
    - vcc_IdIs
    - bprintf
    - Fh
    - vcc_NextToken
    - ExpectErr
    - vcc_BoolVal
    - vcc_ErrWhere
    - free
    - EncToken
    - vcc_Duration
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vcc_ParseProbeSpec(struct vcc *tl, const struct symbol *sym, char
      **namep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:356,1
    - Dst: vcc_ExpectVid
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:358,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:359,1
    - Dst: VCC_HandleSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:361,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:362,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:363,1
    - Dst: vcc_ParseProbeSpec
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:364,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 350
    functionDepth: 5
    functionLinenumber: 350
    functionLinenumberEnd: 370
    functionName: vcc_ParseProbe
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_ParseProbeSpec
    - vcc_NextToken
    - ERRCHK
    - VCC_HandleSymbol
    - vcc_ExpectVid
    - free
    linkageType: ''
    returnType: void
    signature: void vcc_ParseProbe(struct vcc *tl)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:406,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:406,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:407,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:408,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:409,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:410,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:411,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:415,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:418,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:419,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:423,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:424,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:425,1
    - Dst: vcc_FldSpec
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:429,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:447,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:448,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:450,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:453,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:454,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:455,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:455,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:456,1
    - Dst: vcc_IsField
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:460,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:461,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:462,1
    - Dst: vcc_Redef
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:463,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:464,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:465,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:466,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:468,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:469,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:470,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:471,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:472,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:474,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:475,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:476,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:478,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:481,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:482,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:483,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:484,1
    - Dst: vcc_Redef
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:487,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:488,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:489,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:490,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:492,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:493,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:494,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:495,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:496,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:498,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:499,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:500,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:501,1
    - Dst: vcc_Duration
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:502,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:503,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:504,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:505,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:506,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:507,1
    - Dst: vcc_Duration
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:508,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:509,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:510,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:511,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:512,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:513,1
    - Dst: vcc_Duration
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:514,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:515,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:516,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:517,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:518,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:519,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:520,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:521,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:522,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:523,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:525,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:526,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:528,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:530,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:531,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:534,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:535,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:536,1
    - Dst: vcc_ParseProbeSpec
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:537,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:538,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:539,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:540,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:541,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:543,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:545,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:546,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:549,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:551,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:552,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:553,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:557,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:558,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:559,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:560,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:561,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:562,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:563,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:564,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:565,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:567,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:568,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:570,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:571,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:572,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:573,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:575,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:576,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:577,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:580,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:580,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:581,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:583,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:584,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:588,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:589,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:591,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:592,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:593,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:594,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:596,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:597,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:598,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:599,1
    - Dst: vcc_Duration
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:600,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:601,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:602,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:603,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:604,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:605,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:606,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:607,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:608,1
    - Dst: ErrInternal
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:610,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:611,1
    - Dst: vcc_FieldsOk
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:617,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:618,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:619,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:621,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:622,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:623,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:624,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:625,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:626,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:627,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:628,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:630,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:633,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:634,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:635,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:640,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:641,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:646,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:648,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:649,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:650,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:653,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:655,1
    - Dst: Emit_Sockaddr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:658,1
    - Dst: Emit_UDS_Path
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:661,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:662,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:665,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:667,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:668,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:668,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:669,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:669,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:670,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:674,1
    - Dst: EncToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:676,1
    - Dst: EncToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:678,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:680,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:681,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:696,1
    - Dst: isip
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:705,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:707,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:709,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:711,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:713,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:716,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:719,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:720,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:721,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:725,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:727,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:729,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:729,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:730,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:730,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:731,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:733,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:734,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:738,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:740,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 266
    argCount: 4
    argNames:
    - tl
    - sym
    - t_be
    - vgcname
    argTypes:
    - struct vcc*
    - struct symbol*
    - struct token*
    - char*
    assertStmts:
    - condition: (tl->t->dec != NULL)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    - condition: (t_host != NULL || t_path != NULL)
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    - condition: (tl->t->dec != NULL)
      pos:
        line_end: 593
        line_start: 593
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    - condition: (tl->t->dec != NULL)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    - condition: (tl->t->dec != NULL)
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    - condition: (tl->t->dec != NULL)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    constantsTouched: []
    func_position:
      end: 741
      start: 378
    functionDepth: 4
    functionLinenumber: 378
    functionLinenumberEnd: 741
    functionName: vcc_ParseHostDef
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - SkipToken
    - VSB_finish
    - VSB_printf
    - vcc_ParseProbeSpec
    - PF
    - vcc_IsField
    - ErrInternal
    - Emit_Sockaddr
    - ERRCHK
    - VSB_quote
    - vcc_UintVal
    - VCC_SymbolGet
    - AN
    - vcc_Redef
    - vcc_FieldsOk
    - isnan
    - VSB_data
    - vcc_FldSpec
    - vcc_IdIs
    - Fh
    - New_IniFin
    - AZ
    - vcc_NextToken
    - ExpectErr
    - assert
    - strcmp
    - strchr
    - VSB_new_auto
    - vcc_ErrWhere
    - Fb
    - free
    - EncToken
    - isip
    - vcc_Duration
    - Emit_UDS_Path
    - VSB_cat
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: "void vcc_ParseHostDef(struct vcc *tl, struct symbol *sym,\n    const
      struct token *t_be, const char *vgcname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:756,1
    - Dst: vcc_ExpectVid
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:758,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:759,1
    - Dst: VCC_HandleSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:763,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:764,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:765,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:774,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:776,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:790,1
    - Dst: vcc_ParseHostDef
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:791,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:793,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:794,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 747
    functionDepth: 5
    functionLinenumber: 747
    functionLinenumberEnd: 798
    functionName: vcc_ParseBackend
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - AN
    - SkipToken
    - Fh
    - VSB_printf
    - PF
    - vcc_ParseHostDef
    - VSB_cat
    - ERRCHK
    - VCC_HandleSymbol
    - vcc_ErrWhere
    - vcc_ExpectVid
    linkageType: ''
    returnType: void
    signature: void vcc_ParseBackend(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:805,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:806,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:807,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:809,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 811
    functionName: vcc_Backend_Init
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend.c
    functionUses: 0
    functionsReached:
    - Fh
    - VSB_cat
    - New_IniFin
    linkageType: ''
    returnType: void
    signature: void vcc_Backend_Init(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: CMP
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP(n, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: CMPA
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMPA(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:116,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:117,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aep
    argTypes:
    - struct acl_e**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: vcl_acl_free
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: void
    signature: void vcl_acl_free(struct acl_e **aep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:128,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:129,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:133,1
    - Dst: CMPA
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:136,1
    - Dst: CMP
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:142,1
    - Dst: CMPA
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:146,1
    - Dst: CMP
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:147,1
    - Dst: CMPA
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:149,1
    - Dst: CMP
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ae1
    - ae2
    argTypes:
    - struct acl_e*
    - struct acl_e*
    assertStmts:
    - condition: (m < 8)
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 155
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 155
    functionName: vcl_acl_cmp
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - CMP
    - vmin_t
    - assert
    - CMPA
    linkageType: ''
    returnType: enum acl_cmp_e
    signature: enum acl_cmp_e vcl_acl_cmp(const struct acl_e *ae1, const struct acl_e
      *ae2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:163,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:164,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:168,1
    - Dst: CMP
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:170,1
    - Dst: CMP
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ae1
    - ae2
    argTypes:
    - struct acl_e*
    - struct acl_e*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: vcl_acl_disjoint
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - CMP
    - vmin_t
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vcl_acl_disjoint(const struct acl_e *ae1, const struct acl_e *ae2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:210,1
    - Dst: VSA_BuildFAP
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:232,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:233,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:234,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:235,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:237,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:238,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:239,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - tl
    - ae
    - l
    - p
    - fam
    argTypes:
    - struct vcc*
    - struct acl_e*
    - int
    - unsigned char*
    - int
    assertStmts:
    - condition: (ll >= 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 243
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 243
    functionName: vcc_acl_chk
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - VTCP_name
    - bprintf
    - VSB_printf
    - REPLACE
    - assert
    - VSB_cat
    - vcc_ErrWhere
    - VSA_BuildFAP
    linkageType: ''
    returnType: char
    signature: "char *\nvcc_acl_chk(struct vcc *tl, const struct acl_e *ae, const
      int l,\n    unsigned char *p, int fam)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:250,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:251,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:252,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:253,1
    - Dst: vcl_acl_cmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:258,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:260,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:268,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:269,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:270,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:271,1
    - Dst: vcc_Warn
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:272,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:274,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:275,1
    - Dst: VRBT_PREV
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:276,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:282,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:283,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:284,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:285,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:286,1
    - Dst: vcc_Warn
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:289,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:291,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:292,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:293,1
    - Dst: vcc_acl_insert_entry
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:294,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:297,1
    - Dst: vcl_acl_cmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:301,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - tl
    - l
    - r
    argTypes:
    - struct vcc*
    - struct acl_e**
    - struct acl_e**
    assertStmts:
    - condition: (cmp < 0)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 303
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 303
    functionName: vcl_acl_fold
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vcc_Warn
    - FREE_OBJ
    - VSB_printf
    - VRBT_REMOVE
    - assert
    - VSB_cat
    - vcl_acl_cmp
    - vcc_acl_insert_entry
    - INCOMPL
    - VRBT_PREV
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcl_acl_fold(struct vcc *tl, struct acl_e **l, struct acl_e **r)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:310,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:311,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:314,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:315,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:316,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:317,1
    - Dst: VRBT_PREV
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:328,1
    - Dst: vcl_acl_fold
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:330,1
    - Dst: VRBT_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:335,1
    - Dst: vcl_acl_fold
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - tl
    - aenp
    argTypes:
    - struct vcc*
    - struct acl_e**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 339
    functionName: vcc_acl_insert_entry
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 1
    functionsReached:
    - VRBT_INSERT
    - CHECK_OBJ_NOTNULL
    - vcl_acl_fold
    - VRBT_NEXT
    - VSB_cat
    - VRBT_PREV
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_acl_insert_entry(struct vcc *tl, struct acl_e **aenp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:348,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:351,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:353,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:357,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:359,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:364,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:365,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:367,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:368,1
    - Dst: vcc_acl_chk
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:370,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:373,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:377,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:378,1
    - Dst: vcc_acl_insert_entry
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:380,1
    - Dst: vcl_acl_free
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - tl
    - ae
    - l
    - u
    - fam
    argTypes:
    - struct vcc*
    - struct acl_e*
    - int
    - unsigned char*
    - int
    assertStmts:
    - condition: (fam <= 0xff)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    - condition: (l + 1UL <= sizeof aen->data)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 383
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 383
    functionName: vcc_acl_add_entry
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - vcc_acl_chk
    - AN
    - memcpy
    - VSB_printf
    - strdup
    - assert
    - vcc_acl_insert_entry
    - vcl_acl_free
    - ALLOC_OBJ
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: "void vcc_acl_add_entry(struct vcc *tl, const struct acl_e *ae, int
      l,\n    unsigned char *u, int fam)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:394,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:395,1
    - Dst: getaddrinfo
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:398,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:401,1
    - Dst: gai_strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:403,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:404,1
    - Dst: EncToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:406,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:408,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:409,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:410,1
    - Dst: gai_strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:411,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:413,1
    - Dst: gai_strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:415,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:416,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:431,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:433,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:439,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:442,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:443,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:450,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:452,1
    - Dst: vcc_acl_add_entry
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:456,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:459,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:461,1
    - Dst: vcc_acl_add_entry
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:465,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:471,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:472,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:474,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - tl
    - ae
    argTypes:
    - struct vcc*
    - struct acl_e*
    assertStmts:
    - condition: (PF_INET < 256)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    - condition: (PF_INET6 < 256)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    - condition: (sizeof(sin6->sin6_addr) == 16)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    - condition: (sizeof(sin4->sin_addr) == 4)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 476
      start: 385
    functionDepth: 5
    functionLinenumber: 385
    functionLinenumberEnd: 476
    functionName: vcc_acl_try_getaddrinfo
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - Fh
    - VSB_printf
    - memset
    - freeaddrinfo
    - vcc_acl_add_entry
    - PF
    - assert
    - ERRCHK
    - getaddrinfo
    - gai_strerror
    - vcc_ErrWhere
    - EncToken
    linkageType: ''
    returnType: void
    signature: void vcc_acl_try_getaddrinfo(struct vcc *tl, struct acl_e *ae)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:493,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:494,1
    - Dst: sscanf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:497,1
    - Dst: vcc_acl_add_entry
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - tl
    - ae
    argTypes:
    - struct vcc*
    - struct acl_e*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 513
    functionName: vcc_acl_try_netnotation
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - vcc_acl_add_entry
    - sscanf
    - memset
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vcc_acl_try_netnotation(struct vcc *tl, struct acl_e *ae)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:521,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:525,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:530,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:535,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:538,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:541,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:543,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:544,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:545,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:548,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:550,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:551,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:556,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:557,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:561,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:563,1
    - Dst: vcc_UintVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:564,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:568,1
    - Dst: vcc_acl_try_netnotation
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:570,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:571,1
    - Dst: vcc_acl_try_getaddrinfo
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:572,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 515
    functionDepth: 6
    functionLinenumber: 515
    functionLinenumberEnd: 575
    functionName: vcc_acl_entry
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - strtoul
    - SkipToken
    - vcc_acl_try_getaddrinfo
    - vcc_acl_try_netnotation
    - vcc_NextToken
    - ExpectErr
    - VSB_cat
    - ERRCHK
    - strchr
    - vcc_UintVal
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_acl_entry(struct vcc *tl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:587,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:591,1
    - Dst: EncToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:592,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:593,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:595,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:597,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:597,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:601,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:602,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - tl
    - ae
    argTypes:
    - struct vcc*
    - struct acl_e*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 607
    functionName: vcc_acl_emit_tokens
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_PeekTokenFrom
    - CHECK_OBJ_NOTNULL
    - Fh
    - PF
    - EncToken
    linkageType: ''
    returnType: void
    signature: void vcc_acl_emit_tokens(const struct vcc *tl, const struct acl_e *ae)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:621,1
    - Dst: VRBT_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:623,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:626,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:627,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:628,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:630,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:632,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:633,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:636,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:637,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:639,1
    - Dst: VRBT_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:641,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:644,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:645,1
    - Dst: vcc_acl_emit_tokens
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:647,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:648,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - tl
    - n
    - name
    argTypes:
    - struct vcc*
    - unsigned
    - char*
    assertStmts:
    - condition: (n == nn)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 653
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 653
    functionName: vcc_acl_emit_tables
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - assert
    - Fh
    - vcc_acl_emit_tokens
    - VRBT_FOREACH
    linkageType: ''
    returnType: unsigned
    signature: unsigned vcc_acl_emit_tables(const struct vcc *tl, unsigned n, const
      char *name)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:669,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:670,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:671,1
    - Dst: VCC_PrintCName
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:672,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:673,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:673,1
    - Dst: VRBT_FOREACH_REVERSE
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:679,1
    - Dst: vcl_acl_disjoint
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:683,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:691,1
    - Dst: vcc_acl_emit_tables
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:698,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:701,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:702,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:702,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:703,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:704,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:705,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:706,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:707,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:708,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:709,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:710,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:711,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:712,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:714,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:715,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:716,1
    - Dst: VRBT_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:719,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:726,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:733,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:738,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:744,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:747,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:756,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:766,1
    - Dst: vcc_acl_emit_tokens
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:768,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:769,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:772,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:777,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:780,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:781,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:782,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:783,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:785,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:787,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:788,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:792,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:794,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:796,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:799,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:800,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:801,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:801,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:802,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:803,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:805,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:806,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:808,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 107
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts:
    - condition: (l >= 0)
      pos:
        line_end: 725
        line_start: 725
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    - condition: (m >= l*8)
      pos:
        line_end: 737
        line_start: 737
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 809
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 809
    functionName: vcc_acl_emit
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - vcl_acl_disjoint
    - VSB_data
    - VSB_finish
    - Fh
    - VSB_printf
    - VRBT_FOREACH
    - New_IniFin
    - AZ
    - assert
    - VCC_PrintCName
    - VSB_cat
    - VRBT_FOREACH_REVERSE
    - vcc_acl_emit_tokens
    - vcc_acl_emit_tables
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_acl_emit(struct vcc *tl, const struct symbol *sym)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:816,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:817,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:817,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:819,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:823,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:828,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:829,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:833,1
    - Dst: vcc_IsFlag
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:837,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:839,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:845,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:846,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:847,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:853,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - tl
    - sign
    argTypes:
    - struct vcc*
    - int
    assertStmts:
    - condition: (vcc_IdIs(tl->t, "fold"))
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    constantsTouched: []
    func_position:
      end: 855
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 855
    functionName: vcc_parseAclFold
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - vcc_IdIs
    - CHECK_OBJ_NOTNULL
    - SkipToken
    - vcc_IsFlag
    - assert
    - vcc_NextToken
    - VSB_cat
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_parseAclFold(struct vcc *tl, int sign)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:864,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:869,1
    - Dst: VRBT_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:870,1
    - Dst: vcc_ExpectVid
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:872,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:873,1
    - Dst: VCC_HandleSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:874,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:875,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:876,1
    - Dst: vcc_IsFlag
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:881,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:883,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:888,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:890,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:891,1
    - Dst: vcc_parseAclFold
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:892,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:895,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:897,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:898,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:900,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:902,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:903,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:910,1
    - Dst: vcc_acl_entry
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:913,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:914,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:915,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:917,1
    - Dst: vcc_acl_emit
      Src: /src/vinyl-cache/lib/libvcc/vcc_acl.c:919,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 857
    functionDepth: 7
    functionLinenumber: 857
    functionLinenumberEnd: 920
    functionName: vcc_ParseAcl
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_IdIs
    - INIT_OBJ
    - vcc_acl_emit
    - SkipToken
    - vcc_IsFlag
    - vcc_NextToken
    - VRBT_INIT
    - VSB_cat
    - ERRCHK
    - VCC_HandleSymbol
    - vcc_parseAclFold
    - vcc_acl_entry
    - vcc_ErrWhere
    - vcc_ExpectVid
    linkageType: ''
    returnType: void
    signature: void vcc_ParseAcl(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: PF
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PF(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UC
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: VCC_TYPE
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_TYPE(UC, lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: VCC_KIND
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_KIND(U,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - U
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: VCC_NAMESPACE
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_NAMESPACE(U, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: VCC_FEATURE_BIT
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_FEATURE_BIT(U, l, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: ERRCHK
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRCHK(tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: ErrInternal
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ErrInternal(tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    functionName: Expect
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Expect(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 492
    functionName: ExpectErr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ExpectErr(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: SkipToken
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SkipToken(a, b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:51,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:53,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:56,1
    - Dst: VCC_GlobalSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:60,1
    - Dst: vcc_AddCall
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:64,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:66,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:67,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:74,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:76,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:78,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:79,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:80,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:82,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:83,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:85,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:86,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:87,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:88,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:89,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 92
    functionName: vcc_act_call
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - vcc_AddCall
    - VCC_SymbolGet
    - VCC_GlobalSymbol
    - SkipToken
    - vcc_Expr
    - ExpectErr
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_call(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:141,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - tl
    - sym
    - ap
    argTypes:
    - struct vcc*
    - struct symbol*
    - struct assign*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: vcc_assign_expr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_assign_expr(struct vcc *tl, struct symbol *sym, const struct
      assign *ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:158,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:160,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:162,1
    - Dst: vcc_AddUses
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:163,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:164,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:171,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:177,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:179,1
    - Dst: vcc_assign_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:181,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:182,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:183,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:185,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 187
    functionName: vcc_act_set
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - VCC_SymbolGet
    - AN
    - SkipToken
    - vcc_Expr
    - vcc_AddUses
    - vcc_NextToken
    - ExpectErr
    - vcc_assign_expr
    - ERRCHK
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_set(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:196,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:198,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:199,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:200,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:202,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:203,1
    - Dst: vcc_AddUses
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:206,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:207,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: vcc_act_unset
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - VCC_SymbolGet
    - AN
    - vcc_ErrWhere2
    - SkipToken
    - vcc_AddUses
    - ExpectErr
    - VSB_cat
    - ERRCHK
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_unset(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:220,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:222,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:224,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:226,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:227,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:229,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: vcc_act_ban
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - SkipToken
    - ERRCHK
    - vcc_Expr
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_ban(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:241,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:243,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:244,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:245,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:246,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:247,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: vcc_act_hash_data
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - SkipToken
    - ERRCHK
    - vcc_Expr
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_hash_data(struct vcc *tl, struct token *t, struct symbol
      *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:257,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:258,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:260,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:261,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:262,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: vcc_act_return_pass
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - SkipToken
    - ERRCHK
    - vcc_Expr
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_return_pass(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:271,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:272,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:274,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:276,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:277,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: vcc_act_return_fail
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - SkipToken
    - ERRCHK
    - vcc_Expr
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_return_fail(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:287,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:288,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:290,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:291,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:292,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:294,1
    - Dst: vcc_Expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:295,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:296,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:298,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:301,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: vcc_act_return_synth
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - SkipToken
    - vcc_Expr
    - vcc_NextToken
    - ERRCHK
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_return_synth(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:314,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:315,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:316,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:317,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:318,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:320,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:321,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:322,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:323,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:324,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:326,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:327,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:328,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:330,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:331,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:333,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:334,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:335,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:337,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:340,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 343
    functionName: vcc_act_return_vcl
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - VCC_SymbolGet
    - AN
    - SkipToken
    - bprintf
    - VSB_printf
    - strdup
    - Fh
    - New_IniFin
    - ExpectErr
    - VSB_cat
    - ERRCHK
    - Fb
    linkageType: ''
    returnType: void
    signature: void vcc_act_return_vcl(struct vcc *tl)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:355,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:357,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:358,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:361,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:362,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:375,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:376,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:377,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:379,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:380,1
    - Dst: vcc_ProcAction
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:382,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:383,1
    - Dst: vcc_act_return_synth
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:386,1
    - Dst: vcc_act_return_vcl
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:388,1
    - Dst: vcc_act_return_pass
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:390,1
    - Dst: vcc_act_return_fail
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:392,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:394,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:395,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:399,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:400,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:403,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:404,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:406,1
    - Dst: Fb
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:408,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:409,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts:
    - condition: (hand < VCL_RET_MAX)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/vinyl-cache/lib/libvcc/vcc_action.c
    constantsTouched: []
    func_position:
      end: 411
      start: 348
    functionDepth: 5
    functionLinenumber: 348
    functionLinenumberEnd: 411
    functionName: vcc_act_return
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - AN
    - SkipToken
    - vcc_act_return_vcl
    - assert
    - ExpectErr
    - vcc_NextToken
    - VSB_cat
    - ERRCHK
    - vcc_act_return_synth
    - vcc_ProcAction
    - vcc_ErrWhere
    - Fb
    - vcc_act_return_fail
    - vcc_act_return_pass
    linkageType: ''
    returnType: void
    signature: void vcc_act_return(struct vcc *tl, struct token *t, struct symbol
      *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: VCL_RET_MAC
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_RET_MAC(l, U, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - func
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: ACT
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACT(name, func, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ACT
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:431,1
    - Dst: ACT
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:432,1
    - Dst: ACT
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:433,1
    - Dst: ACT
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:435,1
    - Dst: ACT
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:438,1
    - Dst: ACT
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:439,1
    - Dst: ACT
      Src: /src/vinyl-cache/lib/libvcc/vcc_action.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: vcc_Action_Init
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_action.c
    functionUses: 0
    functionsReached:
    - ACT
    linkageType: ''
    returnType: void
    signature: void vcc_Action_Init(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UU
    - ','
    - ll
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: STANZA
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STANZA(UU, ll, ss)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:87,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:88,1
    - Dst: fopen
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:90,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:92,1
    - Dst: getc
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:99,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:101,1
    - Dst: fclose
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:101,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:115,1
    - Dst: getc
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:118,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:120,1
    - Dst: fclose
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:120,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:122,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:127,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:129,1
    - Dst: fclose
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:129,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:130,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - vim
    - filename
    argTypes:
    - struct vmod_import*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 132
    functionName: vcc_Extract_JSON
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - strerror
    - AZ
    - getc
    - fopen
    - VSB_new_auto
    - VSB_destroy
    - fclose
    linkageType: ''
    returnType: int
    signature: int vcc_Extract_JSON(struct vmod_import *vim, const char *filename)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:141,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:144,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:147,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:150,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:151,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:152,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:154,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:155,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:156,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:158,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:162,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:163,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:163,1
    - Dst: strtod
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:164,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:168,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:169,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:170,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:170,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:173,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:174,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:175,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:175,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:178,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:179,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:180,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:180,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:183,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:184,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:185,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:185,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:188,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:189,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:190,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:190,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:191,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:192,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:194,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:195,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:196,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:196,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:198,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:202,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:203,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:203,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:204,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:205,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:212,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:212,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:213,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:214,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:216,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:222,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:223,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:223,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:224,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:225,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:225,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:226,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 3
    argNames:
    - tl
    - jsn
    - vim
    argTypes:
    - struct vcc*
    - char*
    - struct vmod_import*
    assertStmts:
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_array(vv2))
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (p == NULL || *p == '\0' || *p == 'U')
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vv3->value[0] == '$')
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (p == NULL || *p == '\0' || *p == 'U')
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    constantsTouched: []
    func_position:
      end: 238
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 238
    functionName: vcc_ParseJSON
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - strtod
    - VTAILQ_FIRST
    - AN
    - strtoul
    - VSB_printf
    - vjsn_is_array
    - vjsn_is_string
    - strcmp
    - assert
    - vjsn_parse
    - PF
    - VTAILQ_NEXT
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: char
    signature: 'char *

      vcc_ParseJSON(const struct vcc *tl, const char *jsn, struct vmod_import *vim)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UU
    - ','
    - ll
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: STANZA
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STANZA(UU, ll, ss)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:250,1
    - Dst: vcc_ParseJSON
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:252,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:252,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:254,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:255,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:256,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:257,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:263,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:264,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:266,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:270,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:272,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:273,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:274,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:275,1
    - Dst: vcc_Warn
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:276,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - tl
    - vim
    argTypes:
    - struct vcc*
    - struct vmod_import*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 282
    functionName: vcc_VmodLoad
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vcc_Warn
    - VSB_printf
    - PF
    - strcmp
    - vcc_ParseJSON
    - VSB_cat
    - VTAILQ_INSERT_TAIL
    - VSB_data
    - VTAILQ_FOREACH
    - vcc_ErrWhere
    linkageType: ''
    returnType: int
    signature: int vcc_VmodLoad(struct vcc *tl, struct vmod_import *vim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:290,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:291,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:295,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tl
    - vim
    - vv
    argTypes:
    - struct vcc*
    - struct vmod_import*
    - struct vjsn_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: vcc_do_event
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - New_IniFin
    linkageType: ''
    returnType: void
    signature: "void vcc_do_event(struct vcc *tl, const struct vmod_import *vim,\n
      \   const struct vjsn_val *vv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:309,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:309,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:310,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tl
    - vim
    - vv
    argTypes:
    - struct vcc*
    - struct vmod_import*
    - struct vjsn_val*
    assertStmts:
    - condition: (vjsn_is_string(vv))
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: vcc_do_cproto
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - assert
    - Fh
    - vjsn_is_string
    - VTAILQ_NEXT
    linkageType: ''
    returnType: void
    signature: "void vcc_do_cproto(struct vcc *tl, const struct vmod_import *vim,\n
      \   const struct vjsn_val *vv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:322,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:322,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:324,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:324,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:326,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:326,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:327,1
    - Dst: func
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:328,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - tl
    - vim
    - stanza
    - func
    argTypes:
    - struct vcc*
    - struct vmod_import*
    - char*
    - vcc_do_stanza_f*
    assertStmts:
    - condition: (vjsn_is_array(vv))
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_array(vv2))
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    - condition: (vjsn_is_string(vv3))
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: vcc_vj_foreach
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - vjsn_is_array
    - assert
    - vjsn_is_string
    - strcmp
    - func
    - VTAILQ_NEXT
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void vcc_vj_foreach(struct vcc *tl, const struct vmod_import *vim,\n
      \   const char *stanza, vcc_do_stanza_f *func)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:338,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:340,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:341,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:341,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:342,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:343,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:344,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:345,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:345,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:346,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:347,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:348,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:349,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:350,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:352,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:353,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:354,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:356,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:357,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:359,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:360,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:362,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:363,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:364,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:365,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:365,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:367,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:369,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:370,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:371,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:372,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:373,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:376,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:377,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:378,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:379,1
    - Dst: vcc_vj_foreach
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:381,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:383,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:383,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:384,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:384,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:385,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:385,1
    - Dst: vcc_vj_foreach
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:387,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:389,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - tl
    - vim
    argTypes:
    - struct vcc*
    - struct vmod_import*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 390
    functionName: vcc_emit_setup
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_vj_foreach
    - Fh
    - VSB_printf
    - New_IniFin
    - PF
    - VSB_cat
    - VSB_quote
    linkageType: ''
    returnType: void
    signature: void vcc_emit_setup(struct vcc *tl, const struct vmod_import *vim)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:397,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:399,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:401,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:403,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - vimp
    argTypes:
    - struct vmod_import**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 405
    functionName: vcc_vim_destroy
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - vjsn_delete
    - free
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_vim_destroy(struct vmod_import **vimp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:412,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:413,1
    - Dst: vcc_Extract_JSON
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - priv
    - fn
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: vcc_path_open
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - vcc_Extract_JSON
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vcc_path_open(void *priv, const char *fn)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:429,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:431,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:433,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:434,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:435,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:436,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:437,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:438,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:442,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:443,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:444,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:446,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:446,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:448,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:449,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:450,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:453,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:454,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:455,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:457,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:458,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:461,1
    - Dst: strrchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:462,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:464,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:464,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:466,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:467,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:469,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:470,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:474,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:482,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:485,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:486,1
    - Dst: VFIL_searchpath
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:490,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:492,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:493,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:495,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:496,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:497,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:499,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:501,1
    - Dst: vcc_vim_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:502,1
    - Dst: vcc_VmodLoad
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:506,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:507,1
    - Dst: vcc_vim_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:508,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:513,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:514,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:515,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:516,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:517,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:518,1
    - Dst: vcc_vim_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:519,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:525,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:526,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:529,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:531,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:532,1
    - Dst: vcc_vim_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:534,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:540,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:541,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:543,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:544,1
    - Dst: vcc_VmodSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:549,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:550,1
    - Dst: vcc_vim_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:552,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:557,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:561,1
    - Dst: vcc_VmodSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:562,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:563,1
    - Dst: vcc_emit_setup
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:565,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 115
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts:
    - condition: (vsym->kind == SYM_VMOD)
      pos:
        line_end: 540
        line_start: 540
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    constantsTouched: []
    func_position:
      end: 566
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 566
    functionName: vcc_ParseImport
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - SkipToken
    - vcc_ErrWhere2
    - VSB_printf
    - strrchr
    - PF
    - vcc_VmodLoad
    - ERRCHK
    - TlDup
    - VTAILQ_INSERT_TAIL
    - vcc_vim_destroy
    - fprintf
    - VCC_SymbolGet
    - AN
    - vcc_PeekTokenFrom
    - VFIL_searchpath
    - VTAILQ_FOREACH
    - CHECK_OBJ
    - vcc_VmodSymbols
    - vcc_IdIs
    - CHECK_OBJ_NOTNULL
    - bprintf
    - strcmp
    - vcc_NextToken
    - ExpectErr
    - assert
    - AZ
    - strchr
    - vcc_ErrWhere
    - vcc_emit_setup
    - VSB_cat
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void vcc_ParseImport(struct vcc *tl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:573,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:574,1
    - Dst: vcc_Extract_JSON
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:576,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:577,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:580,1
    - Dst: vcc_VmodLoad
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:581,1
    - Dst: vcc_vim_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:583,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:588,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:590,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - tl
    - filename
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 592
    functionName: vcc_ImportVext
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - FREE_OBJ
    - vcc_Extract_JSON
    - strdup
    - vcc_VmodLoad
    - vcc_vim_destroy
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void vcc_ImportVext(struct vcc *tl, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:60,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:61,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:63,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:64,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:64,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:66,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:67,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:68,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:68,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:70,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:73,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: vcc_VmodObject
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - VSB_finish
    - ALLOC_OBJ
    - VSB_printf
    - REPLACE
    - AZ
    - VTAILQ_INSERT_TAIL
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_VmodObject(struct vcc *tl, struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:84,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:85,1
    - Dst: VCC_SymName
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:87,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:88,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:89,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:89,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:90,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:90,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:92,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:93,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:93,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:95,1
    - Dst: VCC_SymName
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:96,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:97,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:98,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:98,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:99,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:99,1
    - Dst: VCC_MkSymAlias
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:101,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:102,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:103,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:104,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:105,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - tl
    - psym
    - v
    argTypes:
    - struct vcc*
    - struct symbol*
    - struct vjsn_val*
    assertStmts:
    - condition: (sym->kind == SYM_FUNC || sym->kind == SYM_METHOD)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (vjsn_is_string(v))
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    constantsTouched: []
    func_position:
      end: 107
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 107
    functionName: alias_sym
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 0
    functionsReached:
    - free
    - AN
    - VSB_finish
    - VSB_printf
    - REPLACE
    - VSB_clear
    - AZ
    - assert
    - vjsn_is_string
    - VCC_MkSymAlias
    - VTAILQ_NEXT
    - VSB_data
    - VCC_SymName
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void alias_sym(struct vcc *tl, const struct symbol *psym, const struct
      vjsn_val *v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:115,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:120,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:121,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:123,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:124,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:125,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:125,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:126,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:128,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:129,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:130,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:130,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:132,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:140,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - tl
    - sym
    - kind
    - v
    argTypes:
    - struct vcc*
    - struct symbol*
    - vcc_kind_t
    - struct vjsn_val*
    assertStmts:
    - condition: (vjsn_is_string(vv))
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (vjsn_is_array(vv))
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: func_restrict
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - VSB_printf
    - vjsn_is_array
    - assert
    - vjsn_is_string
    - strcmp
    - VTAILQ_NEXT
    linkageType: ''
    returnType: void
    signature: void func_restrict(struct vcc *tl, struct symbol *sym, vcc_kind_t kind,
      const struct vjsn_val *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - H
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: VCL_CTX
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_CTX(l,H)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: alias_sym
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:157,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:162,1
    - Dst: VCC_SymName
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:164,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:165,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:166,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:166,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:167,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:167,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:168,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:169,1
    - Dst: vcc_VmodObject
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:175,1
    - Dst: vcc_VmodSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:176,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:183,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:185,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:185,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:190,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:191,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:191,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:192,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:193,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:193,1
    - Dst: VCC_Type
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:194,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:195,1
    - Dst: func_restrict
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 5
    argNames:
    - tl
    - kind
    - psym
    - v
    - vv
    argTypes:
    - struct vcc*
    - vcc_kind_t
    - struct symbol*
    - struct vjsn_val*
    - struct vjsn_val*
    assertStmts:
    - condition: (vjsn_is_array(v))
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (vjsn_is_array(v))
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (vjsn_is_string(v))
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    constantsTouched: []
    func_position:
      end: 198
      start: 149
    functionDepth: 6
    functionLinenumber: 149
    functionLinenumberEnd: 198
    functionName: func_sym
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - VSB_finish
    - VSB_printf
    - vjsn_is_string
    - VCC_SymName
    - AN
    - vcc_VmodObject
    - VSB_data
    - vcc_VmodSymbols
    - AZ
    - assert
    - VSB_new_auto
    - alias_sym
    - VCC_MkSym
    - vjsn_is_array
    - func_restrict
    - VTAILQ_NEXT
    - VSB_destroy
    - VCC_Type
    linkageType: ''
    returnType: void
    signature: "void func_sym(struct vcc *tl, vcc_kind_t kind, const struct symbol
      *psym,\n    const struct vjsn_val *v, const struct vjsn_val *vv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:208,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:209,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:211,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:213,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:216,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:217,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:219,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:220,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:221,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:221,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:222,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:223,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:224,1
    - Dst: func_sym
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:232,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts:
    - condition: (vjsn_is_string(vv1))
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 7
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: vcc_VmodSymbols
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 2
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - vjsn_is_array
    - CAST_OBJ_NOTNULL
    - assert
    - vjsn_is_string
    - WRONG
    - ERRCHK
    - VTAILQ_NEXT
    - func_sym
    linkageType: ''
    returnType: void
    signature: void vcc_VmodSymbols(struct vcc *tl, const struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - UU
    - ','
    - ll
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: STANZA
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STANZA(UU, ll, ss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:250,1
    - Dst: vcc_ExpectVid
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:251,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:252,1
    - Dst: VCC_HandleSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:253,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:254,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:255,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:259,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:260,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:261,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:263,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:264,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:269,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:277,1
    - Dst: vjsn_is_object
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:277,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:278,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:279,1
    - Dst: vjsn_is_true
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:279,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:282,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:284,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:287,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:288,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:290,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:291,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:292,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:293,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:293,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:295,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:297,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:298,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:299,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:300,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:300,1
    - Dst: vcc_Eval_Func
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:301,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:301,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:302,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:303,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:304,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:307,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:308,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:308,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:309,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:309,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:311,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:312,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:313,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:314,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:315,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts:
    - condition: (!strcmp(vf->value, "$INIT"))
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (!strcmp(vf->value, "$FINI"))
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (vjsn_is_string(vf))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (vjsn_is_object(vv))
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    - condition: (vjsn_is_string(vf))
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    constantsTouched: []
    func_position:
      end: 317
      start: 239
    functionDepth: 5
    functionLinenumber: 239
    functionLinenumberEnd: 317
    functionName: vcc_Act_New
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - vcc_Eval_Func
    - SkipToken
    - VSB_finish
    - VSB_printf
    - vjsn_is_string
    - ERRCHK
    - VTAILQ_INSERT_TAIL
    - VCC_SymbolGet
    - AN
    - vjsn_is_object
    - CAST_OBJ_NOTNULL
    - VSB_data
    - VTAILQ_FOREACH
    - vcc_ExpectVid
    - Fh
    - New_IniFin
    - strcmp
    - assert
    - ExpectErr
    - AZ
    - VCC_HandleSymbol
    - VSB_new_auto
    - VTAILQ_NEXT
    - vjsn_is_true
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_Act_New(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vsb
    - method
    argTypes:
    - struct vsb*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: vcc_vcl_met2c
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - AN
    linkageType: ''
    returnType: void
    signature: void vcc_vcl_met2c(struct vsb *vsb, unsigned method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: VCL_MET_MAC
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_MET_MAC(l,U,t,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:108,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tl
    - len
    argTypes:
    - struct vcc*
    - unsigned
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: TlAlloc
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - assert
    - calloc
    linkageType: ''
    returnType: void
    signature: void TlAlloc(struct vcc *tl, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:118,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:118,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:119,1
    - Dst: strcpy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tl
    - s
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: TlDup
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 2
    functionsReached:
    - TlAlloc
    - AN
    - strlen
    - strcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      TlDup(struct vcc *tl, const char *s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:131,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:133,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:135,1
    - Dst: VSB_tofile
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:138,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:140,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:142,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - tl
    - fn
    - vsb
    - what
    argTypes:
    - struct vcc*
    - char*
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: TLWriteVSB
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - strerror
    - VSB_tofile
    - open
    - closefd
    linkageType: ''
    returnType: int
    signature: "int TLWriteVSB(struct vcc *tl, const char *fn, const struct vsb *vsb,\n
      \   const char *what)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: vcc_refUnusedProbes
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - Fc
    linkageType: ''
    returnType: void
    signature: void vcc_refUnusedProbes(struct vcc *tl, const struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:162,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:163,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:164,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:165,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:166,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:167,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:168,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:169,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:170,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:171,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: vcc_NewProc
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - AN
    - VSB_new_auto
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct proc
    signature: 'struct proc *

      vcc_NewProc(struct vcc *tl, struct symbol *sym)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:188,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:189,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:189,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:190,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:190,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:191,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:192,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:209,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:209,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:210,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:211,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:212,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:212,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:213,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:214,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:215,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:215,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:216,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:217,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:217,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:218,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:219,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:220,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:221,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:222,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:225,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:226,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:226,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:228,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:229,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:230,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:231,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:232,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:233,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:236,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:237,1
    - Dst: vcc_vcl_met2c
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:238,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:239,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:239,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:240,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:240,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:241,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:242,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:242,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:242,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:243,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:244,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:247,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:252,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:253,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:254,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:255,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:256,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:257,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:259,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:260,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:261,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:262,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:263,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:264,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:265,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:266,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:267,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:268,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:269,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:270,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:271,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:272,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:272,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:273,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:274,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 2
    argNames:
    - tl
    - p
    argTypes:
    - struct vcc*
    - struct proc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 276
    functionName: vcc_EmitProc
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_finish
    - Fh
    - vcc_vcl_met2c
    - AZ
    - PF
    - VSB_data
    - VSB_new_auto
    - Fc
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_EmitProc(struct vcc *tl, struct proc *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:285,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:286,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:287,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:288,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:289,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:290,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:291,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:292,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:293,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:294,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 298
    functionName: New_IniFin
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 8
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - ALLOC_OBJ
    - VSB_new_auto
    linkageType: ''
    returnType: struct inifin
    signature: 'struct inifin *

      New_IniFin(struct vcc *tl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:310,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:311,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:312,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tl
    - indent
    - fmt
    argTypes:
    - struct vcc*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: Fh
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 13
    functionsReached:
    - VSB_printf
    - va_start
    - va_end
    - VSB_vprintf
    linkageType: ''
    returnType: void
    signature: void Fh(const struct vcc *tl, int indent, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:321,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:323,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:324,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:325,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tl
    - indent
    - fmt
    argTypes:
    - struct vcc*
    - int
    - char*
    assertStmts:
    - condition: (tl->fb != NULL)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: Fb
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 16
    functionsReached:
    - VSB_printf
    - assert
    - va_start
    - VSB_vprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void Fb(const struct vcc *tl, int indent, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:335,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:336,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:337,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tl
    - indent
    - fmt
    argTypes:
    - struct vcc*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: Fc
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 3
    functionsReached:
    - VSB_printf
    - va_start
    - va_end
    - VSB_vprintf
    linkageType: ''
    returnType: void
    signature: void Fc(const struct vcc *tl, int indent, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:347,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sb
    - t
    argTypes:
    - struct vsb*
    - struct token*
    assertStmts:
    - condition: (t->tok == CSTR)
      pos:
        line_end: 346
        line_start: 346
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: EncToken
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 4
    functionsReached:
    - assert
    - VSB_quote
    linkageType: ''
    returnType: void
    signature: void EncToken(struct vsb *sb, const struct token *t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:364,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:366,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:368,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:369,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:370,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:371,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:372,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:374,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:376,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:377,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:378,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:379,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:380,1
    - Dst: VSB_quote_pfx
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:381,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:382,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:384,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:386,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:388,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:390,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:395,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:398,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:405,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:406,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:418,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:421,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:423,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:423,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 2
    argNames:
    - tl
    - vsb
    argTypes:
    - struct vcc*
    - struct vsb*
    assertStmts:
    - condition: (t->src != NULL)
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    - condition: (p != NULL)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    - condition: (sp != NULL)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    constantsTouched: []
    func_position:
      end: 426
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 426
    functionName: EmitCoordinates
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - PF
    - assert
    - VSB_quote_pfx
    - VSB_cat
    - VSB_quote
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void EmitCoordinates(const struct vcc *tl, struct vsb *vsb)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:442,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:443,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:444,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:449,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:450,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:451,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:452,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:453,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:454,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:454,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:455,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:456,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:457,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:457,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:459,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:460,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:462,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:463,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:465,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:465,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:466,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:471,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:472,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:473,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:474,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:476,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:477,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:478,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:480,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:481,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:484,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:485,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:490,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:492,1
    - Dst: VTAILQ_FOREACH_REVERSE
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:493,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:494,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:494,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:496,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:498,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:499,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:500,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:500,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:501,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:502,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:504,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:505,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:506,1
    - Dst: VTAILQ_FOREACH_REVERSE
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:507,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:508,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:508,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:509,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:510,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:511,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:511,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:512,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:513,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:515,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:516,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:518,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:519,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:525,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:526,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:528,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:529,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:530,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:531,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:532,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:533,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:533,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:534,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:535,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:539,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:540,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:545,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:546,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:547,1
    - Dst: VTAILQ_FOREACH_REVERSE
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:549,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:550,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:551,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:552,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:554,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:555,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:556,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:558,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:561,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:562,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:568,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:569,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:570,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:571,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:572,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:574,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:575,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:576,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:577,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:579,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:580,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:581,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:583,1
    - Dst: VCC_WalkSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:584,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:585,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:586,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 112
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts:
    - condition: (q->n > p->n)
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    - condition: (p->n > 0)
      pos:
        line_end: 529
        line_start: 529
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    - condition: (p->n > 0)
      pos:
        line_end: 454
        line_start: 454
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    constantsTouched: []
    func_position:
      end: 587
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 587
    functionName: EmitInitFini
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - Fh
    - VCC_WalkSymbols
    - VTAILQ_FOREACH_REVERSE
    - AZ
    - assert
    - VSB_len
    - VSB_data
    - VTAILQ_FOREACH
    - Fc
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void EmitInitFini(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:594,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:595,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:596,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:597,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:598,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:600,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:601,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:602,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:603,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:604,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:605,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:606,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:607,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:611,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 613
    functionName: EmitStruct
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - Fc
    linkageType: ''
    returnType: void
    signature: void EmitStruct(const struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - u
    - ','
    - t
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: VCL_MET_MAC
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_MET_MAC(l,u,t,b)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:626,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:627,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:629,1
    - Dst: vcc_Parse_Init
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:631,1
    - Dst: vcc_Expr_Init
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:633,1
    - Dst: vcc_Action_Init
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:635,1
    - Dst: vcc_Backend_Init
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:637,1
    - Dst: vcc_Var_Init
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:639,1
    - Dst: vcc_Type_Init
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:641,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:643,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:647,1
    - Dst: vcc_lex_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:648,1
    - Dst: vcc_new_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:654,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:655,1
    - Dst: vcc_lex_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:656,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:665,1
    - Dst: vcc_Parse
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:666,1
    - Dst: vcc_CheckReferences
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:671,1
    - Dst: vcc_CheckAction
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:675,1
    - Dst: vcc_CheckUses
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:679,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:687,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:695,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:696,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:702,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:703,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:706,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:707,1
    - Dst: vcc_EmitProc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:709,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:710,1
    - Dst: vcc_EmitProc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:712,1
    - Dst: EmitInitFini
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:714,1
    - Dst: VCC_InstanceInfo
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:716,1
    - Dst: EmitStruct
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:718,1
    - Dst: VCC_XrefTable
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:720,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:722,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:723,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:723,1
    - Dst: TLWriteVSB
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:724,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:729,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:730,1
    - Dst: vcl_output_lang_h
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:732,1
    - Dst: EmitCoordinates
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:734,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:736,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:736,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:737,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:737,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:739,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:739,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:740,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:740,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:742,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:742,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 3
    argNames:
    - tl
    - sp
    - jfile
    argTypes:
    - struct vcc*
    - struct source*
    - char*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 654
        line_start: 654
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    constantsTouched: []
    func_position:
      end: 744
      start: 619
    functionDepth: 4
    functionLinenumber: 619
    functionLinenumberEnd: 744
    functionName: vcc_CompileSource
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - VSB_finish
    - vcc_CheckUses
    - vcc_CheckReferences
    - Fc
    - vcc_Var_Init
    - vcc_Parse_Init
    - AN
    - vcc_new_source
    - VCC_XrefTable
    - EmitStruct
    - vcl_output_lang_h
    - TLWriteVSB
    - VSB_data
    - vcc_Type_Init
    - VTAILQ_FOREACH
    - VCC_InstanceInfo
    - EmitInitFini
    - Fh
    - New_IniFin
    - AZ
    - assert
    - vcc_Parse
    - vcc_Action_Init
    - vcc_EmitProc
    - vcc_CheckAction
    - VSB_new_auto
    - vcc_lex_source
    - vcc_Expr_Init
    - vcc_Backend_Init
    - VSB_cat
    - EmitCoordinates
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      vcc_CompileSource(struct vcc *tl, struct source *sp, const char *jfile)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:751,1
    - Dst: VCC_New
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:752,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:753,1
    - Dst: VCC_Builtin_VCL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:754,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:755,1
    - Dst: vcc_CompileSource
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 746
    functionDepth: 5
    functionLinenumber: 746
    functionLinenumberEnd: 757
    functionName: vcc_ParseBuiltin
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - AN
    - VCC_Builtin_VCL
    - CHECK_OBJ_NOTNULL
    - AZ
    - vcc_CompileSource
    - VCC_New
    linkageType: ''
    returnType: struct vcc
    signature: 'struct vcc *

      vcc_ParseBuiltin(struct vcc *tl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:766,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lo
    - hi
    argTypes:
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 770
    functionName: VCC_VCL_Range
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - AN
    linkageType: ''
    returnType: void
    signature: void VCC_VCL_Range(unsigned *lo, unsigned *hi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:786,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:787,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:788,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:789,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:790,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:792,1
    - Dst: vcc_ParseBuiltin
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:793,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:794,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:796,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:796,1
    - Dst: vcc_new_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:802,1
    - Dst: vcc_file_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:804,1
    - Dst: vcc_CompileSource
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:807,1
    - Dst: TLWriteVSB
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:810,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:811,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:815,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 6
    argNames:
    - tl
    - sb
    - vclsrc
    - vclsrcfile
    - ofile
    - jfile
    argTypes:
    - struct vcc*
    - struct vsb**
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 777
    functionDepth: 6
    functionLinenumber: 777
    functionLinenumberEnd: 818
    functionName: VCC_Compile
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - vcc_file_source
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - vcc_new_source
    - AZ
    - vcc_CompileSource
    - TLWriteVSB
    - vcc_ParseBuiltin
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: "int VCC_Compile(struct vcc *tl, struct vsb **sb,\n    const char *vclsrc,
      const char *vclsrcfile,\n    const char *ofile, const char *jfile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:833,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:834,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:835,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:836,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:837,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:838,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:839,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:840,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:841,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:845,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:846,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:847,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:849,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:850,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:852,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:853,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:856,1
    - Dst: vcc_NewProc
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:858,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:862,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:863,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:864,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:865,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:865,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:867,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:867,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:867,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:867,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:869,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:869,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:870,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:872,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:873,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:874,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:874,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:876,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:876,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:877,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:878,1
    - Dst: VCC_HandleKind
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:881,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:882,1
    - Dst: VCT_invalid_name
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:882,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:885,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (tl->fc != NULL)
      pos:
        line_end: 849
        line_start: 849
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    - condition: (tl->fh != NULL)
      pos:
        line_end: 852
        line_start: 852
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    - condition: (tl->symtab != NULL)
      pos:
        line_end: 845
        line_start: 845
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    constantsTouched: []
    func_position:
      end: 888
      start: 824
    functionDepth: 4
    functionLinenumber: 824
    functionLinenumberEnd: 888
    functionName: VCC_New
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 2
    functionsReached:
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - AN
    - strdup
    - VSB_bcat
    - VSB_data
    - VTAILQ_INIT
    - VCC_HandleKind
    - AZ
    - assert
    - VSB_len
    - VSB_new_auto
    - vcc_NewProc
    - VCC_MkSym
    - VCT_invalid_name
    - VSB_cat
    - ALLOC_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: struct vcc
    signature: 'struct vcc *

      VCC_New(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:898,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vcc
    - str
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: VCC_Builtin_VCL
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 2
    functionsReached:
    - REPLACE
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCC_Builtin_VCL(struct vcc *vcc, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:910,1
    - Dst: VFIL_setpath
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vcc
    - str
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 912
    functionName: VCC_VCL_path
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - VFIL_setpath
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCC_VCL_path(struct vcc *vcc, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:922,1
    - Dst: VFIL_setpath
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vcc
    - str
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 924
    functionName: VCC_VMOD_path
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - VFIL_setpath
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCC_VMOD_path(struct vcc *vcc, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - U
    - ','
    - l
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 936
    functionName: VCC_FEATURE_BIT
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_FEATURE_BIT(U, l, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:947,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vcc
    - name
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 942
    functionDepth: 4
    functionLinenumber: 942
    functionLinenumberEnd: 951
    functionName: vcc_predef_vcl
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 0
    functionsReached:
    - VCC_MkSym
    - AN
    linkageType: ''
    returnType: void
    signature: void vcc_predef_vcl(struct vcc *vcc, const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:957,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:958,1
    - Dst: vcc_stevedore
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:959,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:960,1
    - Dst: vcc_predef_vcl
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:961,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - vcc
    - type
    - name
    argTypes:
    - struct vcc*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 953
    functionDepth: 5
    functionLinenumber: 953
    functionLinenumberEnd: 964
    functionName: VCC_Predef
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - vcc_stevedore
    - CHECK_OBJ_NOTNULL
    - strcmp
    - WRONG
    - vcc_predef_vcl
    linkageType: ''
    returnType: void
    signature: void VCC_Predef(struct vcc *vcc, const char *type, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:969,1
    - Dst: vcc_ImportVext
      Src: /src/vinyl-cache/lib/libvcc/vcc_compile.c:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vcc
    - filename
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 971
    functionName: VCC_VEXT
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_compile.c
    functionUses: 1
    functionsReached:
    - vcc_ImportVext
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCC_VEXT(struct vcc *vcc, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:48,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:49,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:50,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:51,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:52,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:55,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - src
    - kind
    - name
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: vcc_new_source
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_source.c
    functionUses: 2
    functionsReached:
    - VTAILQ_INIT
    - AN
    - REPLACE
    - strchr
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct source
    signature: 'struct source *

      vcc_new_source(const char *src, const char *kind, const char *name)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:68,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:69,1
    - Dst: VFIL_searchpath
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:74,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:75,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:76,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:77,1
    - Dst: vcc_new_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:81,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - tl
    - fn
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: vcc_file_source
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_source.c
    functionUses: 1
    functionsReached:
    - vcc_new_source
    - VSB_printf
    - VFIL_searchpath
    - strerror
    - strchr
    - free
    linkageType: ''
    returnType: struct source
    signature: 'struct source *

      vcc_file_source(struct vcc *tl, const char *fn)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_file_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:94,1
    - Dst: vcc_lex_source
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - tl
    - src_sp
    - filename
    - parent_token
    argTypes:
    - struct vcc*
    - struct source*
    - char*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: vcc_include_file
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_source.c
    functionUses: 0
    functionsReached:
    - vcc_file_source
    - vcc_lex_source
    linkageType: ''
    returnType: void
    signature: "void vcc_include_file(struct vcc *tl, const struct source *src_sp,\n
      \   const char *filename, const struct token *parent_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:114,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:120,1
    - Dst: glob
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:121,1
    - Dst: vcc_include_file
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:125,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:130,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:134,1
    - Dst: globfree
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - tl
    - src_sp
    - filename
    - parent_token
    argTypes:
    - struct vcc*
    - struct source*
    - char*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 139
    functionName: vcc_include_glob_file
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_source.c
    functionUses: 0
    functionsReached:
    - globfree
    - VSB_printf
    - memset
    - vcc_include_file
    - VSB_cat
    - glob
    linkageType: ''
    returnType: void
    signature: "void vcc_include_glob_file(struct vcc *tl, const struct source *src_sp,\n
      \   const char *filename, const struct token *parent_token)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:155,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:155,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:157,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:158,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:162,1
    - Dst: vcc_IsFlagRaw
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:163,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:166,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:169,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:170,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:173,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:174,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:178,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:180,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:183,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:184,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:187,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:189,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:202,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:205,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:209,1
    - Dst: strrchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:210,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:211,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:212,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:213,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:214,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:214,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:215,1
    - Dst: vcc_include_glob_file
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:219,1
    - Dst: vcc_include_file
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:221,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:223,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 3
    argNames:
    - tl
    - src_sp
    - t
    argTypes:
    - struct vcc*
    - struct source*
    - struct token*
    assertStmts:
    - condition: (vcc_IdIs(t, "include"))
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vinyl-cache/lib/libvcc/vcc_source.c
    constantsTouched: []
    func_position:
      end: 227
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 227
    functionName: vcc_lex_include
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_source.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - AN
    - vcc_IdIs
    - VSB_new_auto
    - VSB_finish
    - strrchr
    - vcc_include_file
    - AZ
    - assert
    - VSB_cat
    - VSB_bcat
    - VTAILQ_NEXT
    - VSB_data
    - vcc_ErrWhere
    - vcc_IsFlagRaw
    - vcc_include_glob_file
    linkageType: ''
    returnType: struct token
    signature: 'struct token *

      vcc_lex_include(struct vcc *tl, const struct source *src_sp, struct token *t)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:235,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:238,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:239,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:240,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:248,1
    - Dst: vcc_Lexer
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:251,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:254,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:258,1
    - Dst: vcc_lex_include
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:259,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_source.c:261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - tl
    - src_sp
    - eoi
    argTypes:
    - struct vcc*
    - struct source*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 229
    functionDepth: 5
    functionLinenumber: 229
    functionLinenumberEnd: 266
    functionName: vcc_lex_source
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_source.c
    functionUses: 2
    functionsReached:
    - vcc_IdIs
    - vcc_lex_include
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - vcc_Lexer
    - strcmp
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vcc_lex_source(struct vcc *tl, struct source *src_sp, int eoi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_storage.c:70,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_storage.c:71,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_storage.c:72,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_storage.c:73,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_storage.c:76,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_storage.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - vcc
    - stv_name
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 4
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: vcc_stevedore
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_storage.c
    functionUses: 1
    functionsReached:
    - VCC_MkSym
    - AN
    - CHECK_OBJ_NOTNULL
    - bprintf
    - TlDup
    linkageType: ''
    returnType: void
    signature: void vcc_stevedore(struct vcc *vcc, const char *stv_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: VCC_Type
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_types.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: vcc_type_t
    signature: vcc_type_t VCC_Type(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UC
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: VCC_TYPE
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_types.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_TYPE(UC, lc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:280,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:281,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:282,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:282,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:285,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:286,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:286,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:287,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:287,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:289,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:292,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - tl
    - type
    argTypes:
    - struct vcc*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 299
    functionName: vcc_type_init
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_types.c
    functionUses: 0
    functionsReached:
    - AN
    - VCC_MkSym
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - AZ
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_type_init(struct vcc *tl, vcc_type_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:306,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:307,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:308,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:310,1
    - Dst: Expect
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:312,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:315,1
    - Dst: Expect
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:316,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_types.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 323
    functionName: VCC_Type_EvalMethod
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_types.c
    functionUses: 0
    functionsReached:
    - vcc_NextToken
    - Expect
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VCC_Type_EvalMethod(struct vcc *tl, const struct symbol *sym)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: vcc_Type_Init
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_types.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vcc_Type_Init(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UC
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 330
    functionName: VCC_TYPE
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_types.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCC_TYPE(UC, lc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:49,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:51,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:53,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tl
    - t
    argTypes:
    - struct vcc*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: vcc_ErrToken
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 4
    functionsReached:
    - VSB_printf
    - VSB_cat
    - PF
    linkageType: ''
    returnType: void
    signature: void vcc_ErrToken(const struct vcc *tl, const struct token *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tl
    - func
    - line
    argTypes:
    - struct vcc*
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: vcc__ErrInternal
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void vcc__ErrInternal(struct vcc *tl, const char *func, unsigned line)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - t
    - ll
    - tail
    argTypes:
    - struct token*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: vcc_iline
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vcc_iline(const struct token *t, const char **ll, int tail)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:110,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:112,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - vsb
    - t
    - tail
    argTypes:
    - struct vsb*
    - struct token*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: vcc_icoord
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vcc_icoord(struct vsb *vsb, const struct token *t, int tail)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_icoord
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tl
    - vsb
    - t
    argTypes:
    - struct vcc*
    - struct vsb*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: vcc_Coord
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 1
    functionsReached:
    - vcc_icoord
    linkageType: ''
    returnType: void
    signature: void vcc_Coord(const struct vcc *tl, struct vsb *vsb, const struct
      token *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:144,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:150,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - tl
    - l
    - le
    argTypes:
    - struct vcc*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: vcc_quoteline
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void vcc_quoteline(const struct vcc *tl, const char *l, const char
      *le)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:182,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - tl
    - l
    - le
    - b
    - e
    argTypes:
    - struct vcc*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 187
    functionName: vcc_markline
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: "void vcc_markline(const struct vcc *tl, const char *l, const char
      *le,\n    const char *b, const char *e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:193,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:194,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: vcc_Warn
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 3
    functionsReached:
    - VSB_cat
    - AN
    linkageType: ''
    returnType: void
    signature: void vcc_Warn(struct vcc *tl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:208,1
    - Dst: vcc_iline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:211,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:212,1
    - Dst: vcc_iline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:213,1
    - Dst: vcc_icoord
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:217,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:218,1
    - Dst: vcc_icoord
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:219,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:220,1
    - Dst: vcc_quoteline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:222,1
    - Dst: vcc_markline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:223,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:226,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:227,1
    - Dst: vcc_icoord
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:229,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:231,1
    - Dst: vcc_icoord
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:232,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:234,1
    - Dst: vcc_quoteline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:235,1
    - Dst: vcc_markline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:236,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:238,1
    - Dst: vcc_icoord
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:239,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:240,1
    - Dst: vcc_quoteline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:242,1
    - Dst: vcc_markline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:243,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - tl
    - t
    - t2
    argTypes:
    - struct vcc*
    - struct token*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 247
    functionName: vcc_ErrWhere2
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 5
    functionsReached:
    - AN
    - VSB_putc
    - vcc_iline
    - vcc_markline
    - vcc_icoord
    - VSB_cat
    - strchr
    - VTAILQ_PREV
    - vcc_ErrWhere
    - vcc_quoteline
    linkageType: ''
    returnType: void
    signature: void vcc_ErrWhere2(struct vcc *tl, const struct token *t, const struct
      token *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_iline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:254,1
    - Dst: vcc_icoord
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:255,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:256,1
    - Dst: vcc_quoteline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:257,1
    - Dst: vcc_markline
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:258,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tl
    - t
    argTypes:
    - struct vcc*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: vcc_ErrWhere
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 25
    functionsReached:
    - VSB_putc
    - vcc_iline
    - vcc_icoord
    - vcc_markline
    - vcc_quoteline
    linkageType: ''
    returnType: void
    signature: void vcc_ErrWhere(struct vcc *tl, const struct token *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:270,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:271,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:272,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:273,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tl
    - t
    argTypes:
    - struct vcc*
    - struct token*
    assertStmts:
    - condition: (t->tok != EOI)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: vcc_PeekTokenFrom
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 3
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_NEXT
    linkageType: ''
    returnType: struct token
    signature: 'struct token *

      vcc_PeekTokenFrom(const struct vcc *tl, const struct token *t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:282,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: vcc_PeekToken
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - vcc_PeekTokenFrom
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct token
    signature: 'struct token *

      vcc_PeekToken(const struct vcc *tl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:290,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: vcc_NextToken
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 18
    functionsReached:
    - vcc_PeekTokenFrom
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vcc_NextToken(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:299,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:300,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:301,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - tl
    - tok
    - line
    argTypes:
    - struct vcc*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: vcc__Expect
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - VSB_printf
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc__Expect(struct vcc *tl, unsigned tok, unsigned line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - struct token*
    - char*
    assertStmts:
    - condition: (t->tok == ID)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    constantsTouched: []
    func_position:
      end: 321
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 321
    functionName: vcc_IdIs
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 11
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int vcc_IdIs(const struct token *t, const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:332,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:333,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:334,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:336,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:336,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:337,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tl
    - tb
    - te
    argTypes:
    - struct vcc*
    - struct token*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: vcc_PrintTokens
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 1
    functionsReached:
    - AN
    - vcc_PeekTokenFrom
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - PF
    linkageType: ''
    returnType: void
    signature: "void vcc_PrintTokens(const struct vcc *tl,\n    const struct token
      *tb, const struct token *te)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:348,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:349,1
    - Dst: vcc_PeekToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:351,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:352,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:355,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:356,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:359,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:360,1
    - Dst: VCT_invalid_name
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:363,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:365,1
    - Dst: vcc_PrintTokens
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:366,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:367,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - tl
    - what
    argTypes:
    - struct vcc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 372
    functionName: vcc_ExpectVid
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 5
    functionsReached:
    - AN
    - vcc_PeekTokenFrom
    - VCT_invalid_name
    - vcc_PeekToken
    - vcc_ErrWhere2
    - VSB_printf
    - vcc_PrintTokens
    - ExpectErr
    - ERRCHK
    linkageType: ''
    returnType: void
    signature: void vcc_ExpectVid(struct vcc *tl, const char *what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:384,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:385,1
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:386,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:387,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tl
    - sep
    argTypes:
    - struct vcc*
    - unsigned
    assertStmts:
    - condition: (tl->t->tok == CSTR)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: vcc_decstr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - TlAlloc
    - AN
    - memcpy
    - assert
    - pdiff
    linkageType: ''
    returnType: void
    signature: void vcc_decstr(struct vcc *tl, unsigned sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:403,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:404,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - tl
    - tok
    - sp
    - b
    - e
    argTypes:
    - struct vcc*
    - unsigned
    - struct source*
    - char*
    - char*
    assertStmts:
    - condition: (t != NULL)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: vcc_addtoken
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - assert
    - TlAlloc
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void vcc_addtoken(struct vcc *tl, unsigned tok,\n    struct source
      *sp, const char *b, const char *e)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:443,1
    - Dst: strstr
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:449,1
    - Dst: strpbrk
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:451,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:457,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:458,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:459,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:463,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:464,1
    - Dst: vcc_decstr
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - tl
    - sp
    - p
    - qp
    argTypes:
    - struct vcc*
    - struct source*
    - char*
    - char**
    assertStmts:
    - condition: (q < sp->e)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    constantsTouched: []
    func_position:
      end: 469
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 469
    functionName: vcc_delim_token
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - vcc_decstr
    - VSB_printf
    - assert
    - strncmp
    - vcc_addtoken
    - strstr
    - vcc_ErrWhere
    - strpbrk
    linkageType: ''
    returnType: unsigned
    signature: "unsigned vcc_delim_token(struct vcc *tl, struct source *sp, const
      char *p,\n    const char **qp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:480,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: vcc_lex_number_token_valid
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - vcc_ErrWhere
    linkageType: ''
    returnType: int
    signature: int vcc_lex_number_token_valid(struct vcc *tl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:495,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:498,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:500,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:501,1
    - Dst: vcc_lex_number_token_valid
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:504,1
    - Dst: strtod
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:506,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:507,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:512,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:514,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:516,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:517,1
    - Dst: vcc_lex_number_token_valid
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:520,1
    - Dst: strtod
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:522,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - tl
    - sp
    - p
    argTypes:
    - struct vcc*
    - struct source*
    - char*
    assertStmts:
    - condition: (s == tl->t->e)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    - condition: (s == tl->t->e)
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    constantsTouched: []
    func_position:
      end: 525
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 525
    functionName: vcc_lex_number
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 0
    functionsReached:
    - strtod
    - vcc_lex_number_token_valid
    - vct_isdigit
    - assert
    - VSB_cat
    - vcc_addtoken
    - vcc_ErrWhere
    linkageType: ''
    returnType: char
    signature: 'char *

      vcc_lex_number(struct vcc *tl, struct source *sp, const char *p)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: vct_isspace
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:542,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:558,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:560,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:561,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:562,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:563,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:573,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:574,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:576,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:589,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:590,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:593,1
    - Dst: VENC_Decode_Base64
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:594,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:596,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:597,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:599,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:600,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:603,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:605,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:607,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:608,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:612,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:614,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:615,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:619,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:620,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:621,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:625,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:625,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:627,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:628,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:630,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:631,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:632,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:632,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:634,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:637,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:638,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:639,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:642,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:643,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:643,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:644,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:645,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:646,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:647,1
    - Dst: vcc_delim_token
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:653,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:657,1
    - Dst: vcl_fixed_token
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:660,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:662,1
    - Dst: vct_isident1
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:668,1
    - Dst: vct_isident
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:670,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:672,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:678,1
    - Dst: vcc_lex_number
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:679,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:684,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:685,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:686,1
    - Dst: vcc_addtoken
      Src: /src/vinyl-cache/lib/libvcc/vcc_token.c:689,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 124
    argCount: 2
    argNames:
    - tl
    - sp
    argTypes:
    - struct vcc*
    - struct source*
    assertStmts:
    - condition: (q > p)
      pos:
        line_end: 592
        line_start: 592
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    constantsTouched: []
    func_position:
      end: 690
      start: 531
    functionDepth: 4
    functionLinenumber: 531
    functionLinenumberEnd: 690
    functionName: vcc_Lexer
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_token.c
    functionUses: 1
    functionsReached:
    - vct_isspace
    - VSB_finish
    - ERRCHK
    - vcc_delim_token
    - vct_isident
    - vct_isident1
    - AN
    - VENC_Decode_Base64
    - vct_isdigit
    - vcl_fixed_token
    - REPLACE
    - VSB_data
    - bprintf
    - Fh
    - AZ
    - assert
    - VSB_len
    - vcc_lex_number
    - VSB_new_auto
    - vcc_ErrWhere
    - VSB_cat
    - vcc_addtoken
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_Lexer(struct vcc *tl, struct source *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:56,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:57,1
    - Dst: vcc_PeekToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:59,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:60,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:63,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:64,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:65,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:66,1
    - Dst: vcc_PeekToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:67,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - tl
    - vsb
    argTypes:
    - struct vcc*
    - struct vsb*
    assertStmts:
    - condition: (tl->t->tok == CSTR)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: vcc_cstrcat
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_PeekToken
    - SkipToken
    - assert
    - vcc_NextToken
    - ExpectErr
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vcc_cstrcat(struct vcc *tl, struct vsb *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:83,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:84,1
    - Dst: vcc_cstrcat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:85,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:86,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:86,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:88,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:88,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:90,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:91,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:91,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:92,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:93,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:94,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:97,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:98,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:100,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:102,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:103,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:104,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:105,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:105,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:106,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:107,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - tl
    - vgc_name
    argTypes:
    - struct vcc*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 109
    functionName: vcc_regexp
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_cstrcat
    - VSB_finish
    - vcc_ErrWhere2
    - bprintf
    - VRE_free
    - Fh
    - New_IniFin
    - VSB_printf
    - AZ
    - VSB_cat
    - VSB_quote
    - VSB_data
    - VRE_error
    - VSB_new_auto
    - VSB_destroy
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: void vcc_regexp(struct vcc *tl, struct vsb *vgc_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_name
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:139,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:140,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:142,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:144,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:146,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:147,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:148,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:150,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:152,1
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:154,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:155,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:156,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - tl
    - host
    - vsa
    - ip
    - ip_ascii
    - p_ascii
    argTypes:
    - struct vcc*
    - char*
    - struct suckaddr*
    - char**
    - char**
    - char**
    assertStmts:
    - condition: (snprintf(q, 40, "(const void*)suckaddr_%u", tl->unique) < 40)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    constantsTouched: []
    func_position:
      end: 159
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 159
    functionName: vcc_suckaddr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 0
    functionsReached:
    - TlAlloc
    - AN
    - memcpy
    - Fh
    - assert
    - TlDup
    - snprintf
    - VTCP_name
    linkageType: ''
    returnType: void
    signature: "void vcc_suckaddr(struct vcc *tl, const char *host, const struct suckaddr
      *vsa,\n    const char **ip, const char **ip_ascii, const char **p_ascii)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:191,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:192,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:192,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:194,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:195,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:196,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:197,1
    - Dst: VSA_Clone
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:200,1
    - Dst: VSA_Compare
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:201,1
    - Dst: VSA_Clone
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:206,1
    - Dst: VSA_Compare
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - priv
    - vsa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts:
    - condition: (VSA_Sane(vsa))
      pos:
        line_end: 191
        line_start: 191
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    - condition: (v != AF_UNIX)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: rs_callback
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSA_Sane
    - assert
    - CAST_OBJ_NOTNULL
    - VSA_Compare
    - VTCP_name
    - VSA_Get_Proto
    - VSA_Clone
    linkageType: ''
    returnType: void
    signature: void rs_callback(void *priv, const struct suckaddr *vsa)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:236,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:237,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:238,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:240,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:241,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:241,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:243,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:247,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:248,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:250,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:252,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:253,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:254,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:257,1
    - Dst: vcc_suckaddr
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:259,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:260,1
    - Dst: vcc_suckaddr
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:263,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:264,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:267,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:270,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:271,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:274,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:279,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:281,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:282,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:284,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:285,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 11
    argNames:
    - tl
    - host
    - def_port
    - ipv4
    - ipv4_ascii
    - ipv6
    - ipv6_ascii
    - p_ascii
    - maxips
    - t_err
    - errid
    argTypes:
    - struct vcc*
    - char*
    - char*
    - char**
    - char**
    - char**
    - char**
    - char**
    - int
    - struct token*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 286
    functionName: Resolve_Sockaddr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 1
    functionsReached:
    - AN
    - INIT_OBJ
    - VSA_free
    - VSB_data
    - VSB_finish
    - VSB_printf
    - vcc_suckaddr
    - AZ
    - PF
    - ZERO_OBJ
    - VSS_resolver
    - VSB_new_auto
    - VSB_destroy
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: "void Resolve_Sockaddr(struct vcc *tl,\n    const char *host,\n    const
      char *def_port,\n    const char **ipv4,\n    const char **ipv4_ascii,\n    const
      char **ipv6,\n    const char **ipv6_ascii,\n    const char **p_ascii,\n    int
      maxips,\n    const struct token *t_err,\n    const char *errid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:298,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:299,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:302,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:304,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: vcc_BoolVal
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 1
    functionsReached:
    - VCC_SymbolGet
    - VSB_cat
    - vcc_ErrWhere
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t vcc_BoolVal(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:320,1
    - Dst: VNUM_duration_unit
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:321,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:322,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:323,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:326,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:327,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:328,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts:
    - condition: (tl->t->tok == ID)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    constantsTouched: []
    func_position:
      end: 331
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 331
    functionName: vcc_DurationUnit
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - VSB_printf
    - assert
    - isnan
    - vcc_NextToken
    - VSB_cat
    - VNUM_duration_unit
    - vcc_ErrWhere
    linkageType: ''
    returnType: double
    signature: double vcc_DurationUnit(struct vcc *tl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Expect
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:344,1
    - Dst: round
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:347,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:349,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:350,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 355
    functionName: vcc_UintVal
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 3
    functionsReached:
    - vcc_NextToken
    - VSB_cat
    - Expect
    - round
    - vcc_ErrWhere
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t vcc_UintVal(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Expect
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:363,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: vcc_DoubleVal
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 0
    functionsReached:
    - Expect
    - vcc_NextToken
    linkageType: ''
    returnType: double
    signature: double vcc_DoubleVal(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_DoubleVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:378,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:379,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:380,1
    - Dst: vcc_DurationUnit
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tl
    - d
    argTypes:
    - struct vcc*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: vcc_Duration
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 2
    functionsReached:
    - vcc_DoubleVal
    - ExpectErr
    - ERRCHK
    - vcc_DurationUnit
    linkageType: ''
    returnType: void
    signature: void vcc_Duration(struct vcc *tl, double *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Expect
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:395,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:399,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:401,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:402,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:403,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:404,1
    - Dst: VNUM_bytes_unit
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:407,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:409,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:410,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:411,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - tl
    - d
    argTypes:
    - struct vcc*
    - VCL_INT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 416
    functionName: vcc_ByteVal
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - vcc_NextToken
    - VSB_cat
    - Expect
    - vcc_ErrWhere
    - VNUM_bytes_unit
    linkageType: ''
    returnType: void
    signature: void vcc_ByteVal(struct vcc *tl, VCL_INT *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:427,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - tl
    - t1
    - t2
    argTypes:
    - struct vcc*
    - struct token*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 432
    functionName: vcc_IsFlagRaw
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 1
    functionsReached:
    - VSB_cat
    - vcc_ErrWhere
    linkageType: ''
    returnType: int
    signature: int vcc_IsFlagRaw(struct vcc *tl, const struct token *t1, const struct
      token *t2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vcc_PeekToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:440,1
    - Dst: vcc_IsFlagRaw
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:443,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 447
    functionName: vcc_IsFlag
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 2
    functionsReached:
    - vcc_NextToken
    - vcc_IsFlagRaw
    - vcc_PeekToken
    linkageType: ''
    returnType: int
    signature: int vcc_IsFlag(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:454,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:456,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:457,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:458,1
    - Dst: strndup
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:460,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_utils.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (e >= b)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: vcc_Dup_be
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 1
    functionsReached:
    - assert
    - AN
    - strndup
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      vcc_Dup_be(const char *b, const char *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: vcc_Has_vcl_prefix
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vcc_Has_vcl_prefix(const char *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:48,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:49,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:50,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:51,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:54,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:55,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:56,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:59,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts:
    - condition: (sym->type == HEADER)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvcc/vcc_var.c
    - condition: (parent->type == HEADER)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvcc/vcc_var.c
    constantsTouched: []
    func_position:
      end: 61
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 61
    functionName: vcc_Header_Fh
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_var.c
    functionUses: 0
    functionsReached:
    - assert
    - Fh
    - AN
    - AZ
    linkageType: ''
    returnType: void
    signature: void vcc_Header_Fh(const struct vcc *tl, const struct symbol *sym)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:71,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:72,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:74,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:75,1
    - Dst: vct_istchar
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:82,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:83,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:84,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:85,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:101,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:102,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:103,1
    - Dst: VCC_PrintCName
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:104,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:105,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:105,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:108,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:108,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:111,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:112,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:113,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:113,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:114,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:114,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:118,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:119,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:120,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:120,1
    - Dst: TlDup
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:121,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:121,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:123,1
    - Dst: vcc_Header_Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_var.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 3
    argNames:
    - tl
    - parent
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    - struct symbol*
    assertStmts:
    - condition: (parent->type == HEADER)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvcc/vcc_var.c
    constantsTouched: []
    func_position:
      end: 127
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 127
    functionName: vcc_Var_Wildcard
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_var.c
    functionUses: 0
    functionsReached:
    - vcc_Header_Fh
    - AN
    - VSB_new_auto
    - VSB_finish
    - vct_istchar
    - VSB_printf
    - VSB_clear
    - AZ
    - assert
    - VCC_PrintCName
    - VSB_cat
    - VSB_quote
    - TlDup
    - VSB_data
    - strlen
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_Var_Wildcard(struct vcc *tl, struct symbol *parent, struct
      symbol *sym)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:75,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:76,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:77,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:78,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:80,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:81,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:82,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:83,1
    - Dst: vcc_Warn
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: vcc_checkref
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_Warn
    - VSB_printf
    - PF
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_checkref(struct vcc *tl, const struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCC_WalkSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: vcc_CheckReferences
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - VCC_WalkSymbols
    linkageType: ''
    returnType: int
    signature: int vcc_CheckReferences(struct vcc *tl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:112,1
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:113,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:115,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:116,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:117,1
    - Dst: vcc_PeekTokenFrom
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:121,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:122,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:137,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - tl
    - t1
    - t2
    - sym
    - use
    argTypes:
    - struct vcc*
    - struct token*
    - struct token*
    - struct symbol*
    - struct xrefuse*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 140
    functionName: vcc_AddUses
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 3
    functionsReached:
    - TlAlloc
    - AN
    - vcc_PeekTokenFrom
    - WRONG
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void vcc_AddUses(struct vcc *tl, const struct token *t1, const struct
      token *t2,\n    const struct symbol *sym, const struct xrefuse *use)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:147,1
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:148,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:149,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: vcc_AddCall
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - TlAlloc
    - AN
    linkageType: ''
    returnType: void
    signature: void vcc_AddCall(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - p
    - returns
    - mask
    - t
    argTypes:
    - struct proc*
    - unsigned
    - unsigned
    - struct token*
    assertStmts:
    - condition: (returns < VCL_RET_MAX)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: vcc_ProcAction
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void vcc_ProcAction(struct proc *p, unsigned returns, unsigned mask,
      struct token *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:174,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:176,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:177,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:190,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:191,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:192,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:200,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:202,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:204,1
    - Dst: vcc_CheckActionRecurse
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:210,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:211,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:212,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - tl
    - p
    - bitmap
    argTypes:
    - struct vcc*
    - struct proc*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 220
    functionName: vcc_CheckActionRecurse
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - AN
    - VSB_printf
    - PF
    - VSB_cat
    - vcc_CheckActionRecurse
    - VTAILQ_FOREACH
    - vcc_ErrWhere
    linkageType: ''
    returnType: int
    signature: int vcc_CheckActionRecurse(struct vcc *tl, struct proc *p, unsigned
      bitmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: VCL_RET_MAC
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_RET_MAC(l, U, B)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:231,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:232,1
    - Dst: vcc_CheckActionRecurse
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:241,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:248,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:250,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 257
    functionName: vcc_checkaction
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - VSB_cat
    - vcc_CheckActionRecurse
    - AN
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void vcc_checkaction(struct vcc *tl, const struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - U
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: VCL_RET_MAC
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VCL_RET_MAC(l, U, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCC_WalkSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: vcc_CheckAction
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - VCC_WalkSymbols
    linkageType: ''
    returnType: int
    signature: int vcc_CheckAction(struct vcc *tl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:277,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:278,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:287,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - tl
    - pu
    - m
    argTypes:
    - struct vcc*
    - struct procuse*
    - struct method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: vcc_illegal_write
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - vcc_ErrWhere2
    - VSB_cat
    linkageType: ''
    returnType: struct procuse
    signature: 'struct procuse *

      vcc_illegal_write(struct vcc *tl, struct procuse *pu, const struct method *m)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:297,1
    - Dst: vcc_illegal_write
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:301,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - tl
    - p
    - m
    argTypes:
    - struct vcc*
    - struct proc*
    - struct method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 310
    functionName: vcc_FindIllegalUse
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - vcc_illegal_write
    linkageType: ''
    returnType: struct procuse
    signature: 'struct procuse *

      vcc_FindIllegalUse(struct vcc *tl, struct proc *p, const struct method *m)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vcc_FindIllegalUse
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:319,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:321,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:322,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:324,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:325,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:326,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:331,1
    - Dst: vcc_CheckUseRecurse
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:332,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:333,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:334,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - tl
    - p
    - m
    argTypes:
    - struct vcc*
    - struct proc*
    - struct method*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 312
    functionDepth: 4
    functionLinenumber: 312
    functionLinenumberEnd: 341
    functionName: vcc_CheckUseRecurse
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - vcc_FindIllegalUse
    - vcc_ErrWhere2
    - VSB_printf
    - PF
    - vcc_CheckUseRecurse
    - VTAILQ_FOREACH
    - vcc_ErrWhere
    linkageType: ''
    returnType: int
    signature: "int vcc_CheckUseRecurse(struct vcc *tl, struct proc *p,\n    const
      struct method *m)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:350,1
    - Dst: vcc_FindIllegalUse
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:351,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:353,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:354,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:355,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:356,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:359,1
    - Dst: vcc_CheckUseRecurse
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:360,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 365
    functionName: vcc_checkuses
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - AN
    - vcc_FindIllegalUse
    - vcc_ErrWhere2
    - VSB_printf
    - PF
    - vcc_CheckUseRecurse
    - VSB_cat
    - ERRCHK
    linkageType: ''
    returnType: void
    signature: void vcc_checkuses(struct vcc *tl, const struct symbol *sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:378,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:383,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 385
    functionName: vcc_checkpossible
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - VSB_cat
    - AN
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_checkpossible(struct vcc *tl, const struct symbol *sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VCC_WalkSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:391,1
    - Dst: VCC_WalkSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: vcc_CheckUses
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - VCC_WalkSymbols
    linkageType: ''
    returnType: int
    signature: int vcc_CheckUses(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:404,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:405,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:406,1
    - Dst: VCC_SymName
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:407,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: vcc_instance_info
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - VCC_SymName
    - AN
    - Fc
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vcc_instance_info(struct vcc *tl, const struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:414,1
    - Dst: VCC_WalkSymbols
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:415,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:416,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: VCC_InstanceInfo
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached:
    - VCC_WalkSymbols
    - Fc
    linkageType: ''
    returnType: void
    signature: void VCC_InstanceInfo(struct vcc *tl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:430,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:431,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: vcc_xreftable_len
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - strlen
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vcc_xreftable_len(struct vcc *tl, const struct symbol *sym)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:441,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:442,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:443,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:444,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:445,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:446,1
    - Dst: VCC_SymName
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:447,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:449,1
    - Dst: Fc
      Src: /src/vinyl-cache/lib/libvcc/vcc_xref.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tl
    - sym
    argTypes:
    - struct vcc*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 451
    functionName: vcc_xreftable
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 0
    functionsReached:
    - VCC_SymName
    - Fc
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vcc_xreftable(struct vcc *tl, const struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: VCC_XrefTable
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VCC_XrefTable(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct expr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: vcc_isconst
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - AN
    linkageType: ''
    returnType: int
    signature: int vcc_isconst(const struct expr *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct expr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: vcc_islit
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - AN
    linkageType: ''
    returnType: int
    signature: int vcc_islit(const struct expr *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: vcc_utype
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      vcc_utype(vcc_type_t t)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: vcc_stringstype
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: vcc_type_t
    signature: vcc_type_t vcc_stringstype(vcc_type_t t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:101,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:102,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: vcc_new_expr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - AN
    - ALLOC_OBJ
    - VSB_new_auto
    linkageType: ''
    returnType: struct expr
    signature: 'struct expr *

      vcc_new_expr(vcc_type_t fmt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_new_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:115,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:116,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:117,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:118,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:119,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fmt
    - str
    argTypes:
    - vcc_type_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: vcc_mk_expr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - AZ
    - vcc_new_expr
    - va_start
    - VSB_vprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void vcc_mk_expr(vcc_type_t fmt, const char *str, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:128,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:129,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct expr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: vcc_delete_expr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - CHECK_OBJ
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vcc_delete_expr(struct expr *e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:162,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:165,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:165,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:167,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:169,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:169,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:171,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - struct expr*
    - struct expr*
    assertStmts:
    - condition: (e2->fmt == STRANDS || e2->fmt == STRINGS)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: vcc_strands_edit
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - assert
    - VSB_data
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vcc_strands_edit(const struct expr *e1, const struct expr *e2)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:185,1
    - Dst: vcc_new_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:186,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:190,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:195,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:197,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:198,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:202,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:203,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:205,1
    - Dst: vcc_strands_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:207,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:208,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:211,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:211,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:217,1
    - Dst: vcc_strands_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:218,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:221,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:221,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:224,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:225,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:225,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:228,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:232,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:232,1
    - Dst: vcc_delete_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:237,1
    - Dst: vcc_delete_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:238,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 5
    argNames:
    - tl
    - fmt
    - p
    - e1
    - e2
    argTypes:
    - struct vcc*
    - vcc_type_t
    - char*
    - struct expr*
    - struct expr*
    assertStmts:
    - condition: (*p == '\v')
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - condition: (e1->fmt == STRINGS)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 240
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 240
    functionName: vcc_expr_edit
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - VSB_finish
    - AZ
    - vcc_new_expr
    - assert
    - VSB_cat
    - WRONG
    - vcc_strands_edit
    - vcc_delete_expr
    - VSB_data
    linkageType: ''
    returnType: struct expr
    signature: "struct expr *\nvcc_expr_edit(struct vcc *tl, vcc_type_t fmt, const
      char *p, struct expr *e1,\n    struct expr *e2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:254,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:256,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:259,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:263,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:265,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - d
    - ind
    - e1
    argTypes:
    - struct vsb*
    - int
    - struct expr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 275
    functionName: vcc_expr_fmt
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - VSB_data
    - WRONG
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void vcc_expr_fmt(struct vsb *d, int ind, const struct expr *e1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:287,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:289,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - tl
    - e
    argTypes:
    - struct vcc*
    - struct expr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: vcc_expr_tobool
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_expr_edit
    linkageType: ''
    returnType: void
    signature: void vcc_expr_tobool(struct vcc *tl, struct expr **e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:308,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:309,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:313,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:314,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:318,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:320,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - tl
    - e
    argTypes:
    - struct vcc*
    - struct expr**
    assertStmts:
    - condition: ((*e)->fmt != STRINGS)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 323
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 323
    functionName: vcc_expr_tostring
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_utype
    - vcc_expr_edit
    - AN
    - CHECK_OBJ_NOTNULL
    - vcc_ErrWhere2
    - VSB_printf
    - assert
    linkageType: ''
    returnType: void
    signature: void vcc_expr_tostring(struct vcc *tl, struct expr **e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:335,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:336,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:340,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - type
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 350
    functionName: vcc_Eval_Handle
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_mk_expr
    - AN
    - AZ
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_Handle(struct vcc *tl, struct expr **e, struct token
      *t,\n    struct symbol *sym, vcc_type_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:359,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:360,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:362,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:365,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:370,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - type
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts:
    - condition: (sym->type == SUB)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 373
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 373
    functionName: vcc_Eval_Sub
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_printf
    - AZ
    - assert
    - vcc_mk_expr
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_Sub(struct vcc *tl, struct expr **e, struct token *t,\n
      \   struct symbol *sym, vcc_type_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_AddUses
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:384,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:385,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - type
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: vcc_Eval_Var
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_mk_expr
    - ERRCHK
    - vcc_AddUses
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_Var(struct vcc *tl, struct expr **e, struct token *t,\n
      \   struct symbol *sym, vcc_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:398,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:399,1
    - Dst: vcc_Header_Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:401,1
    - Dst: vcc_Eval_Var
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - type
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: vcc_Eval_ProtectedHeader
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_Header_Fh
    - AN
    - vcc_Eval_Var
    - AZ
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_ProtectedHeader(struct vcc *tl, struct expr **e, struct
      token *t,\n    struct symbol *sym, vcc_type_t type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:416,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:417,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:419,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:420,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:422,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:423,1
    - Dst: New_IniFin
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:424,1
    - Dst: Fh
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:425,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:426,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:427,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:430,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:432,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:436,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:438,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - tl
    - p
    - sym
    argTypes:
    - struct vcc*
    - char*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 442
    functionName: vcc_priv_arg
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - AN
    - bprintf
    - Fh
    - VSB_printf
    - New_IniFin
    - strcmp
    - vcc_mk_expr
    - WRONG
    linkageType: ''
    returnType: struct expr
    signature: 'struct expr *

      vcc_priv_arg(struct vcc *tl, const char *p, struct symbol *sym)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:462,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:463,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tl
    - cfunc
    - len
    - ptr
    argTypes:
    - struct vcc*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: vcc_do_enum
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_mk_expr
    - AN
    - strchr
    linkageType: ''
    returnType: struct expr
    signature: 'struct expr *

      vcc_do_enum(struct vcc *tl, const char *cfunc, int len, const char *ptr)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:475,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:476,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:477,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:478,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:481,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:482,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:483,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:484,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:485,1
    - Dst: vcc_do_enum
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:488,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:488,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:489,1
    - Dst: vcc_expr0
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:493,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:494,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - tl
    - cfunc
    - fa
    argTypes:
    - struct vcc*
    - char*
    - struct func_arg*
    assertStmts:
    - condition: (e2->fmt == fa->type)
      pos:
        line_end: 494
        line_start: 494
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 499
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 499
    functionName: vcc_do_arg
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_IdIs
    - SkipToken
    - VSB_printf
    - PF
    - vcc_expr0
    - ExpectErr
    - assert
    - VSB_cat
    - ERRCHK
    - VTAILQ_FOREACH
    - vcc_ErrWhere
    - vcc_do_enum
    linkageType: ''
    returnType: void
    signature: void vcc_do_arg(struct vcc *tl, const char *cfunc, struct func_arg
      *fa)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_HEAD
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:509,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:516,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:517,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:517,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:518,1
    - Dst: VCC_Type
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:519,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:519,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:520,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:521,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:523,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:528,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:531,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:535,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:536,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:537,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:540,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:541,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:546,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:549,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:550,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:551,1
    - Dst: vjsn_is_array
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:551,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:552,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:553,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:554,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:556,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:557,1
    - Dst: vcc_priv_arg
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:558,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:559,1
    - Dst: VCC_Type
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:564,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:565,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:566,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:569,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:570,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:572,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:575,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:578,1
    - Dst: vjsn_is_true
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:582,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:584,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:586,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:589,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:595,1
    - Dst: vcc_do_arg
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:599,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:601,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:604,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:607,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:610,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:613,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:617,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:618,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:619,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:623,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:624,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:626,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:629,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:630,1
    - Dst: vcc_do_arg
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:631,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:632,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:635,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:639,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:642,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:645,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:648,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:649,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:651,1
    - Dst: vcc_do_enum
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:654,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:654,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:657,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:659,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:661,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:665,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:667,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:668,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:670,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:674,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:677,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:678,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:680,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:683,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:685,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:687,1
    - Dst: vcc_AddUses
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:688,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 161
    argCount: 5
    argNames:
    - tl
    - e
    - priv
    - extra
    - sym
    argTypes:
    - struct vcc*
    - struct expr**
    - void*
    - char*
    - struct symbol*
    assertStmts:
    - condition: (vjsn_is_array(vv))
      pos:
        line_end: 516
        line_start: 516
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - condition: (vjsn_is_array(vv))
      pos:
        line_end: 550
        line_start: 550
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 689
      start: 501
    functionDepth: 4
    functionLinenumber: 501
    functionLinenumberEnd: 689
    functionName: vcc_func
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - vcc_expr_edit
    - SkipToken
    - VSB_printf
    - PF
    - ERRCHK
    - VTAILQ_INSERT_TAIL
    - memcmp
    - calloc
    - strlen
    - AN
    - CAST_OBJ_NOTNULL
    - vcc_mk_expr
    - VTAILQ_FOREACH
    - vcc_priv_arg
    - VTAILQ_INIT
    - vcc_IdIs
    - bprintf
    - AZ
    - assert
    - vcc_NextToken
    - VTAILQ_HEAD
    - vcc_do_arg
    - VTAILQ_FOREACH_SAFE
    - vcc_do_enum
    - vcc_ErrWhere
    - free
    - vjsn_is_array
    - vcc_AddUses
    - VSB_cat
    - VTAILQ_PREV
    - VTAILQ_NEXT
    - vjsn_is_true
    - VCC_Type
    linkageType: ''
    returnType: void
    signature: "void vcc_func(struct vcc *tl, struct expr **e, const void *priv,\n
      \   const char *extra, struct symbol *sym)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_func
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:701,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:703,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:704,1
    - Dst: vcc_expr_fmt
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:705,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:706,1
    - Dst: vcc_delete_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - tl
    - spec
    - extra
    - sym
    argTypes:
    - struct vcc*
    - struct vjsn_val*
    - char*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 5
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: vcc_Eval_Func
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 1
    functionsReached:
    - vcc_expr_fmt
    - VSB_cat
    - ERRCHK
    - vcc_delete_expr
    - vcc_func
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_Func(struct vcc *tl, const struct vjsn_val *spec,\n
      \   const char *extra, struct symbol *sym)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:720,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:721,1
    - Dst: vcc_func
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:723,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts:
    - condition: (sym->kind == SYM_FUNC || sym->kind == SYM_METHOD)
      pos:
        line_end: 719
        line_start: 719
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 729
      start: 714
    functionDepth: 5
    functionLinenumber: 714
    functionLinenumberEnd: 729
    functionName: vcc_Eval_SymFunc
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - assert
    - ERRCHK
    - AN
    - vcc_func
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_SymFunc(struct vcc *tl, struct expr **e, struct token
      *t,\n    struct symbol *sym, vcc_type_t fmt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:741,1
    - Dst: vcc_ByteVal
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:743,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:744,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:745,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:748,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:750,1
    - Dst: vcc_DurationUnit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:751,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:752,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:754,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - tl
    - e
    - fmt
    - sign
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    - char*
    assertStmts:
    - condition: (fmt != VOID)
      pos:
        line_end: 740
        line_start: 740
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 761
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 761
    functionName: vcc_number
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_ByteVal
    - assert
    - vcc_NextToken
    - vcc_mk_expr
    - ERRCHK
    - vcc_DurationUnit
    linkageType: ''
    returnType: void
    signature: void vcc_number(struct vcc *tl, struct expr **e, vcc_type_t fmt, const
      char *sign)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:785,1
    - Dst: vcc_expr_cor
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:786,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:787,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:788,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:792,1
    - Dst: vcc_PeekToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:798,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:799,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:800,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:803,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:805,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:806,1
    - Dst: VCC_GlobalSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:807,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:809,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:811,1
    - Dst: VCC_SymbolGet
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:811,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:813,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:814,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:816,1
    - Dst: vcc_new_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:817,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:822,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:823,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:827,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:828,1
    - Dst: struct symbol*::eval
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:829,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:831,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:833,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:835,1
    - Dst: vcc_expr_tostring
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:838,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:839,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:843,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:845,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:846,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:848,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:849,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:853,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:862,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:864,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:865,1
    - Dst: Resolve_Sockaddr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:868,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:871,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:872,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:873,1
    - Dst: vcc_new_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:875,1
    - Dst: vcc_regexp
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:876,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:877,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:877,1
    - Dst: vcc_new_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:879,1
    - Dst: EncToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:880,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:881,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:881,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:887,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:896,1
    - Dst: vcc_expr_cor
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:898,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:899,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:900,1
    - Dst: vcc_number
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:907,1
    - Dst: vcc_new_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:910,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:911,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:912,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:912,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:915,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:921,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:922,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:923,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:923,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:924,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 124
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts:
    - condition: (fmt != VOID)
      pos:
        line_end: 852
        line_start: 852
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 925
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 925
    functionName: vcc_expr5
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - struct symbol*::eval
    - vcc_expr_edit
    - vcc_expr_tostring
    - vcc_utype
    - SkipToken
    - vcc_ErrWhere2
    - VSB_printf
    - VSB_finish
    - PF
    - vcc_new_expr
    - ERRCHK
    - vcc_number
    - Resolve_Sockaddr
    - VCC_SymbolGet
    - AN
    - VCC_GlobalSymbol
    - vcc_mk_expr
    - vcc_expr_cor
    - AZ
    - assert
    - vcc_NextToken
    - vcc_ErrWhere
    - EncToken
    - vcc_PeekToken
    - vcc_regexp
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vcc_expr5(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCC_Type_EvalMethod
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:940,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:941,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:942,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 944
    functionName: vcc_Eval_TypeMethod
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_expr_edit
    - AN
    - ERRCHK
    - VCC_Type_EvalMethod
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_TypeMethod(struct vcc *tl, struct expr **e, struct token
      *t,\n    struct symbol *sym, vcc_type_t fmt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr5
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:952,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:953,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:954,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:956,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:957,1
    - Dst: VCC_TypeSymbol
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:959,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:961,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:962,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:963,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:964,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:968,1
    - Dst: struct symbol*::eval
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:969,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 946
    functionDepth: 6
    functionLinenumber: 946
    functionLinenumberEnd: 976
    functionName: vcc_expr4
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_ErrToken
    - struct symbol*::eval
    - AN
    - VCC_TypeSymbol
    - VSB_printf
    - vcc_NextToken
    - ExpectErr
    - VSB_cat
    - ERRCHK
    - vcc_expr5
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_expr4(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr4
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:993,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:994,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:995,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:999,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1000,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1005,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1007,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1007,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1008,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1012,1
    - Dst: vcc_expr4
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1013,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1014,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1016,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1017,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1017,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1017,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1018,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1021,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1022,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 984
    functionDepth: 7
    functionLinenumber: 984
    functionLinenumberEnd: 1024
    functionName: vcc_expr_mul
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_utype
    - vcc_expr_edit
    - AN
    - bprintf
    - VSB_printf
    - PF
    - vcc_NextToken
    - VSB_cat
    - ERRCHK
    - vcc_expr4
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_expr_mul(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr_mul
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1066,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1067,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1074,1
    - Dst: vcc_expr_mul
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1076,1
    - Dst: vcc_expr_mul
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1078,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1079,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1087,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1089,1
    - Dst: vcc_expr_tostring
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1093,1
    - Dst: vcc_expr_tostring
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1095,1
    - Dst: vcc_islit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1096,1
    - Dst: vcc_isconst
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1096,1
    - Dst: vcc_islit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1097,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1098,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1106,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1112,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1113,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1113,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1113,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1114,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 47
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1057
    functionDepth: 8
    functionLinenumber: 1057
    functionLinenumberEnd: 1118
    functionName: vcc_expr_add
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_utype
    - vcc_expr_edit
    - vcc_expr_tostring
    - vcc_ErrWhere2
    - VSB_printf
    - vcc_expr_mul
    - PF
    - vcc_NextToken
    - ERRCHK
    - vcc_islit
    - vcc_isconst
    linkageType: ''
    returnType: void
    signature: void vcc_expr_add(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1151,1
    - Dst: vcc_expr_add
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1152,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1153,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1156,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1158,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1158,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1158,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1159,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tl
    - e
    - cp
    argTypes:
    - struct vcc*
    - struct expr**
    - struct cmps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1145
    functionDepth: 9
    functionLinenumber: 1145
    functionLinenumberEnd: 1162
    functionName: cmp_simple
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_utype
    - vcc_expr_edit
    - VSB_printf
    - PF
    - vcc_NextToken
    - ERRCHK
    - vcc_ErrWhere
    - vcc_expr_add
    linkageType: ''
    returnType: void
    signature: void cmp_simple(struct vcc *tl, struct expr **e, const struct cmps
      *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1171,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1172,1
    - Dst: vcc_expr4
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1174,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1175,1
    - Dst: vcc_expr_typecheck
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1176,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1177,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1178,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - tl
    - e
    - cp
    argTypes:
    - struct vcc*
    - struct expr**
    - struct cmps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1165
    functionDepth: 7
    functionLinenumber: 1165
    functionLinenumberEnd: 1180
    functionName: cmp_regexp
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_expr_edit
    - bprintf
    - vcc_expr_typecheck
    - vcc_NextToken
    - ERRCHK
    - vcc_expr4
    linkageType: ''
    returnType: void
    signature: void cmp_regexp(struct vcc *tl, struct expr **e, const struct cmps
      *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1189,1
    - Dst: vcc_expr4
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1191,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1192,1
    - Dst: vcc_expr_typecheck
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1193,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1194,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1195,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - tl
    - e
    - cp
    argTypes:
    - struct vcc*
    - struct expr**
    - struct cmps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1183
    functionDepth: 7
    functionLinenumber: 1183
    functionLinenumberEnd: 1197
    functionName: cmp_acl
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_expr_edit
    - bprintf
    - vcc_expr_typecheck
    - vcc_NextToken
    - ERRCHK
    - vcc_expr4
    linkageType: ''
    returnType: void
    signature: void cmp_acl(struct vcc *tl, struct expr **e, const struct cmps *cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1207,1
    - Dst: vcc_expr_add
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1208,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1209,1
    - Dst: vcc_stringstype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1210,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1211,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1213,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1213,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1213,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1214,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1216,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1217,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1219,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - tl
    - e
    - cp
    argTypes:
    - struct vcc*
    - struct expr**
    - struct cmps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1200
    functionDepth: 9
    functionLinenumber: 1200
    functionLinenumberEnd: 1222
    functionName: cmp_string
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_utype
    - vcc_expr_edit
    - bprintf
    - VSB_printf
    - PF
    - vcc_NextToken
    - vcc_stringstype
    - ERRCHK
    - vcc_ErrWhere
    - vcc_expr_add
    linkageType: ''
    returnType: void
    signature: void cmp_string(struct vcc *tl, struct expr **e, const struct cmps
      *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1227
    functionName: PTR_REL
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_REL(typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1231
    functionName: IDENT_REL
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDENT_REL(typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1238
    functionName: NUM_REL
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NUM_REL(typ)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr_add
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1283,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1284,1
    - Dst: vcc_stringstype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1290,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1292,1
    - Dst: struct cmps*::func
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1293,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1306,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1307,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1307,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1276
    functionDepth: 9
    functionLinenumber: 1276
    functionLinenumberEnd: 1313
    functionName: vcc_expr_cmp
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_utype
    - AN
    - VSB_printf
    - PF
    - vcc_stringstype
    - ERRCHK
    - struct cmps*::func
    - vcc_ErrWhere
    - vcc_expr_add
    linkageType: ''
    returnType: void
    signature: void vcc_expr_cmp(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1329,1
    - Dst: vcc_expr_cmp
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1330,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1331,1
    - Dst: vcc_expr_tobool
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1334,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1335,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1337,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1338,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1338,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1339,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1321
    functionDepth: 10
    functionLinenumber: 1321
    functionLinenumberEnd: 1343
    functionName: vcc_expr_not
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_expr_cmp
    - vcc_utype
    - vcc_expr_edit
    - vcc_ErrWhere2
    - VSB_printf
    - vcc_NextToken
    - VSB_cat
    - ERRCHK
    - vcc_expr_tobool
    linkageType: ''
    returnType: void
    signature: void vcc_expr_not(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: up
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1363,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1364,1
    - Dst: vcc_expr_tobool
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1367,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1368,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1370,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1372,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1373,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1376,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1378,1
    - Dst: up
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1380,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1381,1
    - Dst: vcc_expr_tobool
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1382,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1383,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1385,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1387,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1388,1
    - Dst: vcc_delete_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1389,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1392,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1393,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 6
    argNames:
    - tl
    - e
    - fmt
    - ourtok
    - up
    - tokstr
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    - unsigned
    - upfunc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1396
    functionName: vcc_expr_bin_bool
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_utype
    - vcc_expr_edit
    - vcc_ErrWhere2
    - bprintf
    - VSB_printf
    - vcc_NextToken
    - ERRCHK
    - vcc_delete_expr
    - vcc_expr_tobool
    - up
    linkageType: ''
    returnType: void
    signature: "void vcc_expr_bin_bool(struct vcc *tl, struct expr **e, vcc_type_t
      fmt,\n    unsigned ourtok, upfunc *up, const char *tokstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr_bin_bool
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1404
    functionDepth: 4
    functionLinenumber: 1404
    functionLinenumberEnd: 1409
    functionName: vcc_expr_cand
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_expr_bin_bool
    linkageType: ''
    returnType: void
    signature: void vcc_expr_cand(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_expr_bin_bool
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1417
    functionDepth: 4
    functionLinenumber: 1417
    functionLinenumberEnd: 1422
    functionName: vcc_expr_cor
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 1
    functionsReached:
    - vcc_expr_bin_bool
    linkageType: ''
    returnType: void
    signature: void vcc_expr_cor(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1434,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1435,1
    - Dst: vcc_expr_cor
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1439,1
    - Dst: vcc_expr_cor
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1441,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1442,1
    - Dst: vcc_expr_tostring
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1448,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1451,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1452,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1453,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1454,1
    - Dst: vcc_expr_tostring
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1459,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1463,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1465,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1467,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1472,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1474,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1476,1
    - Dst: vcc_expr_tobool
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1480,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1481,1
    - Dst: vcc_expr_typecheck
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1484,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - tl
    - e
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    assertStmts:
    - condition: (fmt != STRINGS)
      pos:
        line_end: 1434
        line_start: 1434
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - condition: (fmt != VOID)
      pos:
        line_end: 1433
        line_start: 1433
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 1485
      start: 1429
    functionDepth: 5
    functionLinenumber: 1429
    functionLinenumberEnd: 1485
    functionName: vcc_expr0
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 1
    functionsReached:
    - vcc_utype
    - vcc_expr_edit
    - vcc_expr_tostring
    - vcc_expr_tobool
    - vcc_ErrWhere2
    - VSB_printf
    - vcc_expr_typecheck
    - assert
    - ERRCHK
    - WRONG
    - vcc_expr_cor
    linkageType: ''
    returnType: void
    signature: void vcc_expr0(struct vcc *tl, struct expr **e, vcc_type_t fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1492,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1493,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1496,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1497,1
    - Dst: vcc_utype
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1497,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - tl
    - e
    - fmt
    - t1
    argTypes:
    - struct vcc*
    - struct expr**
    - vcc_type_t
    - struct token*
    assertStmts:
    - condition: (fmt != VOID)
      pos:
        line_end: 1491
        line_start: 1491
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - condition: (fmt != STRINGS)
      pos:
        line_end: 1492
        line_start: 1492
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 1500
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1500
    functionName: vcc_expr_typecheck
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 3
    functionsReached:
    - assert
    - vcc_utype
    - VSB_printf
    - vcc_ErrWhere2
    linkageType: ''
    returnType: void
    signature: "void vcc_expr_typecheck(struct vcc *tl, struct expr **e, vcc_type_t
      fmt,\n    struct token *t1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1514,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1515,1
    - Dst: vcc_expr0
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1516,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1517,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1518,1
    - Dst: vcc_expr_fmt
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1520,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1521,1
    - Dst: vcc_delete_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - tl
    - fmt
    argTypes:
    - struct vcc*
    - vcc_type_t
    assertStmts:
    - condition: (fmt != VOID)
      pos:
        line_end: 1513
        line_start: 1513
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - condition: (fmt != STRINGS)
      pos:
        line_end: 1514
        line_start: 1514
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - condition: (e->fmt == fmt)
      pos:
        line_end: 1517
        line_start: 1517
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 1523
      start: 1509
    functionDepth: 6
    functionLinenumber: 1509
    functionLinenumberEnd: 1523
    functionName: vcc_Expr
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 8
    functionsReached:
    - vcc_expr_fmt
    - vcc_expr0
    - assert
    - VSB_cat
    - ERRCHK
    - vcc_delete_expr
    linkageType: ''
    returnType: void
    signature: void vcc_Expr(struct vcc *tl, vcc_type_t fmt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vcc_func
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1535,1
    - Dst: vcc_expr_fmt
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1537,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1538,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1539,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1541,1
    - Dst: vcc_ErrWhere2
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1542,1
    - Dst: vcc_delete_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1529
    functionDepth: 5
    functionLinenumber: 1529
    functionLinenumberEnd: 1545
    functionName: vcc_Act_Call
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_ErrWhere2
    - SkipToken
    - vcc_expr_fmt
    - VSB_cat
    - vcc_delete_expr
    - vcc_func
    linkageType: ''
    returnType: void
    signature: void vcc_Act_Call(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1553,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1554,1
    - Dst: vcc_expr4
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1556,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1557,1
    - Dst: vcc_expr_fmt
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1558,1
    - Dst: vcc_delete_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1559,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1560,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - tl
    - t
    - sym
    argTypes:
    - struct vcc*
    - struct token*
    - struct symbol*
    assertStmts:
    - condition: (sym->kind == SYM_INSTANCE)
      pos:
        line_end: 1552
        line_start: 1552
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    constantsTouched: []
    func_position:
      end: 1562
      start: 1548
    functionDepth: 7
    functionLinenumber: 1548
    functionLinenumberEnd: 1562
    functionName: vcc_Act_Obj
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - SkipToken
    - vcc_expr_fmt
    - assert
    - ExpectErr
    - VSB_cat
    - ERRCHK
    - vcc_expr4
    - vcc_delete_expr
    linkageType: ''
    returnType: void
    signature: void vcc_Act_Obj(struct vcc *tl, struct token *t, struct symbol *sym)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1577,1
    - Dst: vcc_expr0
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1578,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1579,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1580,1
    - Dst: vcc_expr0
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1581,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1582,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1584,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1585,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1586,1
    - Dst: vcc_expr0
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1587,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1588,1
    - Dst: vcc_expr_edit
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1589,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1568
    functionDepth: 6
    functionLinenumber: 1568
    functionLinenumberEnd: 1592
    functionName: vcc_Eval_Regsub
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_expr_edit
    - SkipToken
    - bprintf
    - vcc_expr0
    - ERRCHK
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_Regsub(struct vcc *tl, struct expr **e, struct token
      *t,\n    struct symbol *sym, vcc_type_t fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1607
    functionName: vcc_Eval_BoolConst
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_mk_expr
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_BoolConst(struct vcc *tl, struct expr **e, struct token
      *t,\n    struct symbol *sym, vcc_type_t fmt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1622,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1623,1
    - Dst: vcc_mk_expr
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - tl
    - e
    - t
    - sym
    - fmt
    argTypes:
    - struct vcc*
    - struct expr**
    - struct token*
    - struct symbol*
    - vcc_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1613
    functionDepth: 2
    functionLinenumber: 1613
    functionLinenumberEnd: 1628
    functionName: vcc_Eval_Default
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 0
    functionsReached:
    - vcc_mk_expr
    - VSB_cat
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: "void vcc_Eval_Default(struct vcc *tl, struct expr **e, struct token
      *t,\n    struct symbol *sym, vcc_type_t fmt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1638,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1639,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1644,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1645,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1650,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1651,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1656,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1657,1
    - Dst: VCC_MkSym
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1662,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvcc/vcc_expr.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct vcc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1633
    functionDepth: 4
    functionLinenumber: 1633
    functionLinenumberEnd: 1666
    functionName: vcc_Expr_Init
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    functionUses: 1
    functionsReached:
    - VCC_MkSym
    - AN
    linkageType: ''
    returnType: void
    signature: void vcc_Expr_Init(struct vcc *tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct fld_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: vcc_ResetFldSpec
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vcc_ResetFldSpec(struct fld_spec *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:72,1
    - Dst: va_arg
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:78,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:80,1
    - Dst: vcc_ResetFldSpec
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:83,1
    - Dst: TlAlloc
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:85,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - tl
    - first
    argTypes:
    - struct vcc*
    - char*
    assertStmts:
    - condition: (n < 100)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: vcc_FldSpec
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c
    functionUses: 2
    functionsReached:
    - TlAlloc
    - memcpy
    - va_arg
    - vcc_ResetFldSpec
    - assert
    - va_start
    - va_end
    linkageType: ''
    returnType: struct fld_spec
    signature: 'struct fld_spec *

      vcc_FldSpec(struct vcc *tl, const char *first, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:95,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:96,1
    - Dst: vcc_NextToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:99,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:100,1
    - Dst: vcc_IdIs
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:103,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:109,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:110,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:111,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:112,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:113,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:114,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:117,1
    - Dst: vcc_ErrToken
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:118,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:119,1
    - Dst: vcc_ErrWhere
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - tl
    - t
    - fs
    argTypes:
    - struct vcc*
    - struct token**
    - struct fld_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 121
    functionName: vcc_IsField
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c
    functionUses: 2
    functionsReached:
    - vcc_ErrToken
    - vcc_IdIs
    - SkipToken
    - vcc_NextToken
    - ExpectErr
    - VSB_cat
    - vcc_ErrWhere
    linkageType: ''
    returnType: void
    signature: void vcc_IsField(struct vcc *tl, const struct token **t, struct fld_spec
      *fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - tl
    - fs
    argTypes:
    - struct vcc*
    - struct fld_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: vcc_FieldsOk
    functionSourceFile: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c
    functionUses: 1
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: void
    signature: void vcc_FieldsOk(struct vcc *tl, const struct fld_spec *fs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: ptag_cmp
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ptag_cmp(const void *va, const void *vb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:82,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - string
    - tabs
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: print_tabbed
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_tabbed(const char *string, int tabs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:99,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:102,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:106,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:107,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:108,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:109,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:110,1
    - Dst: print_tabbed
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:111,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c:113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c
    functionUses: 1
    functionsReached:
    - printf
    - print_tabbed
    - strcmp
    - qsort
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:72,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:73,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:76,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:77,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:78,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:79,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:80,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:81,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:82,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - vsl
    - fmt
    argTypes:
    - struct VSL_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: vsl_diag
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - AZ
    - va_start
    - VSB_vprintf
    - VSB_clear
    - VSB_new_auto
    - va_end
    linkageType: ''
    returnType: int
    signature: int vsl_diag(struct VSL_data *vsl, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:91,1
    - Dst: vbit_new
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:97,1
    - Dst: vbit_new
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:98,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:99,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: VSL_New
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 3
    functionsReached:
    - VTAILQ_INIT
    - vbit_new
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct VSL_data
    signature: 'struct VSL_data *

      VSL_New(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:110,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:111,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:112,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:113,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:115,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:116,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:117,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:118,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - filters
    argTypes:
    - vslf_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: vsl_IX_free
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - VRE_free
    - vbit_destroy
    - AZ
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void vsl_IX_free(vslf_list *filters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:127,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:129,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:130,1
    - Dst: vsl_IX_free
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:131,1
    - Dst: vsl_IX_free
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:132,1
    - Dst: VSL_ResetError
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:133,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct VSL_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: VSL_Delete
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 3
    functionsReached:
    - VSL_ResetError
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - vsl_IX_free
    - vbit_destroy
    linkageType: ''
    returnType: void
    signature: void VSL_Delete(struct VSL_data *vsl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:141,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct VSL_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: VSL_Error
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 5
    functionsReached:
    - VSB_data
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VSL_Error(const struct VSL_data *vsl)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:153,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vsl
    argTypes:
    - struct VSL_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: VSL_ResetError
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 3
    functionsReached:
    - VSB_destroy
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSL_ResetError(struct VSL_data *vsl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:170,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:171,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:172,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:175,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:176,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - vsl
    - list
    - c
    argTypes:
    - struct VSL_data*
    - vslf_list*
    - struct VSL_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 182
    functionName: vsl_match_IX
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_LEN
    - CHECK_OBJ_NOTNULL
    - vbit_test
    - VSL_CDATA
    - VSL_TAG
    - VRE_match
    linkageType: ''
    returnType: int
    signature: "int vsl_match_IX(struct VSL_data *vsl, const vslf_list *list,\n    const
      struct VSL_cursor *c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:175,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:176,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: VTAILQ_FOREACH
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 155
    functionsReached:
    - VRE_match
    - vbit_test
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH(vslf, list, list)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:189,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:192,1
    - Dst: VSL_CLIENT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:196,1
    - Dst: VSL_BACKEND
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:198,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:201,1
    - Dst: vsl_match_IX
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:202,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:204,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:206,1
    - Dst: vsl_match_IX
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:207,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:209,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - vsl
    - c
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: VSL_Match
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vbit_test
    - VTAILQ_EMPTY
    - vsl_match_IX
    - VSL_TAG
    - VSL_CLIENT
    - VSL_BACKEND
    linkageType: ''
    returnType: int
    signature: int VSL_Match(struct VSL_data *vsl, const struct VSL_cursor *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: VSL_PRINT
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSL_PRINT(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:235,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:238,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:240,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - fo
    - len
    - data
    argTypes:
    - FILE*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: vsl_print_unsafe
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_PRINT
    linkageType: ''
    returnType: int
    signature: int vsl_print_unsafe(FILE *fo, unsigned len, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:252,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:254,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fo
    - len
    - data
    argTypes:
    - FILE*
    - unsigned
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: vsl_print_binary
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_PRINT
    linkageType: ''
    returnType: int
    signature: int vsl_print_binary(FILE *fo, unsigned len, const char *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:271,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:276,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:277,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:278,1
    - Dst: VSL_CLIENT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:279,1
    - Dst: VSL_BACKEND
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:279,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:281,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:284,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:285,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:287,1
    - Dst: vsl_print_unsafe
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:290,1
    - Dst: vsl_print_binary
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:292,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - vsl
    - c
    - fo
    - terse
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 297
    functionName: vsl_print
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_LEN
    - VSL_PRINT
    - CHECK_OBJ_NOTNULL
    - VSL_BACKEND
    - VSL_CDATA
    - vsl_print_binary
    - VSL_TAG
    - vsl_print_unsafe
    - VSL_CLIENT
    - VSL_ID
    linkageType: ''
    returnType: int
    signature: "int vsl_print(const struct VSL_data *vsl, const struct VSL_cursor
      *c, void *fo,\n    int terse)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsl_print
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsl
    - c
    - fo
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: VSL_Print
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - vsl_print
    linkageType: ''
    returnType: int
    signature: int VSL_Print(const struct VSL_data *vsl, const struct VSL_cursor *c,
      void *fo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vsl_print
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vsl
    - c
    - fo
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: VSL_PrintTerse
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - vsl_print
    linkageType: ''
    returnType: int
    signature: int VSL_PrintTerse(const struct VSL_data *vsl, const struct VSL_cursor
      *c, void *fo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSL_Next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:321,1
    - Dst: VSL_Match
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:324,1
    - Dst: VSL_Print
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - vsl
    - c
    - fo
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 330
    functionName: VSL_PrintAll
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_Print
    - VSL_Match
    - VSL_Next
    linkageType: ''
    returnType: int
    signature: int VSL_PrintAll(struct VSL_data *vsl, const struct VSL_cursor *c,
      void *fo)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:341,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:374,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:376,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:378,1
    - Dst: VSL_Next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:388,1
    - Dst: VSL_Match
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:393,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:396,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:398,1
    - Dst: VSL_Print
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:401,1
    - Dst: VSL_PrintTerse
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:403,1
    - Dst: VSL_PRINT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:410,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 58
    argCount: 3
    argNames:
    - vsl
    - pt
    - fo
    argTypes:
    - struct VSL_data*
    - struct VSL_transaction*[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 413
    functionName: VSL_PrintTransactions
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_Match
    - VSL_PRINT
    - CHECK_OBJ_NOTNULL
    - VSL_Next
    - VSL_Print
    - VSL_PrintTerse
    linkageType: ''
    returnType: void
    signature: "void VSL_PrintTransactions(struct VSL_data *vsl, struct VSL_transaction
      * const pt[],\n    void *fo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:420,1
    - Dst: fopen
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:423,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:425,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:425,1
    - Dst: setbuf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:429,1
    - Dst: ftell
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:430,1
    - Dst: fwrite
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:431,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:433,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:433,1
    - Dst: fclose
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - vsl
    - name
    - append
    - unbuf
    argTypes:
    - struct VSL_data*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 439
    functionName: VSL_WriteOpen
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 1
    functionsReached:
    - setbuf
    - fwrite
    - strerror
    - strcmp
    - vsl_diag
    - fopen
    - ftell
    - fclose
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      VSL_WriteOpen(struct VSL_data *vsl, const char *name, int append, int unbuf)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:446,1
    - Dst: fwrite
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:451,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - vsl
    - c
    - fo
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 456
    functionName: VSL_Write
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - fwrite
    - VSL_NEXT
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSL_Write(const struct VSL_data *vsl, const struct VSL_cursor *c,
      void *fo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSL_Next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:466,1
    - Dst: VSL_Match
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:469,1
    - Dst: VSL_Write
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - vsl
    - c
    - fo
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 475
    functionName: VSL_WriteAll
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_Write
    - VSL_Match
    - VSL_Next
    linkageType: ''
    returnType: int
    signature: int VSL_WriteAll(struct VSL_data *vsl, const struct VSL_cursor *c,
      void *fo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSL_WriteAll
      Src: /src/vinyl-cache/lib/libvinylapi/vsl.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - vsl
    - pt
    - fo
    argTypes:
    - struct VSL_data*
    - struct VSL_transaction*[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 478
    functionDepth: 5
    functionLinenumber: 478
    functionLinenumberEnd: 489
    functionName: VSL_WriteTransactions
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl.c
    functionUses: 0
    functionsReached:
    - VSL_WriteAll
    linkageType: ''
    returnType: void
    signature: "void VSL_WriteTransactions(struct VSL_data *vsl, struct VSL_transaction
      * const pt[],\n    void *fo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vxp_Alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:55,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:56,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - vxp
    - tok
    - b
    - e
    argTypes:
    - struct vxp*
    - unsigned
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: vxp_append_token
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - vxp_Alloc
    linkageType: ''
    returnType: void
    signature: void vxp_append_token(struct vxp *vxp, unsigned tok, const char *b,
      const char *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:72,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:76,1
    - Dst: vxp_Alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:80,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - vxp
    argTypes:
    - struct vxp*
    assertStmts:
    - condition: (vxp->t->tok == VAL)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c
    - condition: (e - b >= 2)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c
    constantsTouched: []
    func_position:
      end: 91
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 91
    functionName: vxp_decstr
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - vxp_Alloc
    linkageType: ''
    returnType: void
    signature: void vxp_decstr(struct vxp *vxp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isblank
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:107,1
    - Dst: vxp_fixed_token
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:125,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:127,1
    - Dst: vxp_append_token
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:128,1
    - Dst: vxp_append_token
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:149,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:151,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:152,1
    - Dst: vxp_decstr
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:155,1
    - Dst: isword
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:161,1
    - Dst: isword
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:163,1
    - Dst: vxp_append_token
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:165,1
    - Dst: vxp_Alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:166,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:167,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:168,1
    - Dst: vxp_append_token
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:176,1
    - Dst: vxp_append_token
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:182,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:183,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:184,1
    - Dst: vxp_append_token
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:189,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 1
    argNames:
    - vxp
    argTypes:
    - struct vxp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 190
    functionName: vxp_Lexer
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c
    functionUses: 0
    functionsReached:
    - vxp_fixed_token
    - AN
    - memcpy
    - vxp_append_token
    - vxp_ErrWhere
    - vxp_Alloc
    - isblank
    - VSB_cat
    - isword
    - vxp_decstr
    linkageType: ''
    returnType: void
    signature: void vxp_Lexer(struct vxp *vxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:199,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:200,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:201,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:202,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:203,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:204,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:206,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:207,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - vxp
    argTypes:
    - struct vxp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: vxp_PrintTokens
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c
    functionUses: 0
    functionsReached:
    - fprintf
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vxp_PrintTokens(const struct vxp *vxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: isword
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isword(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: PF
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PF(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: ERRCHK
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRCHK(tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: ExpectErr
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ExpectErr(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: SkipToken
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SkipToken(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:144,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:147,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:148,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: VSC_New
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 4
    functionsReached:
    - VTAILQ_INIT
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vsc
    signature: 'struct vsc *

      VSC_New(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:160,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:162,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:164,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:165,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:166,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:168,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:170,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - vsc
    - glob
    - mode
    argTypes:
    - struct vsc*
    - char*
    - struct vsc_sf_mode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: vsc_sf_arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - AN
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - REPLACE
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: int
    signature: int vsc_sf_arg(struct vsc *vsc, const char *glob, const struct vsc_sf_mode
      *mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:180,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:181,1
    - Dst: vsc_sf_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:184,1
    - Dst: vsc_sf_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - vsc
    - opt
    argTypes:
    - struct vsc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: vsc_f_arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - vsc_sf_arg
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vsc_f_arg(struct vsc *vsc, const char *opt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:194,1
    - Dst: vsc_sf_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:197,1
    - Dst: vsc_sf_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:198,1
    - Dst: vsc_sf_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:199,1
    - Dst: vsc_f_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - vsc
    - arg
    - opt
    argTypes:
    - struct vsc*
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: VSC_Arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 3
    functionsReached:
    - vsc_sf_arg
    - vsc_f_arg
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSC_Arg(struct vsc *vsc, char arg, const char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vsc
    argTypes:
    - struct vsc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: VSC_IsRaw
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned VSC_IsRaw(const struct vsc *vsc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:223,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:224,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vsc
    - nm
    argTypes:
    - struct vsc*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: vsc_filter
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - fnmatch
    - VTAILQ_FOREACH
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vsc_filter(const struct vsc *vsc, const char *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - point
    argTypes:
    - struct vsc_pt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: vsc_clean_point
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - REPLACE
    linkageType: ''
    returnType: void
    signature: void vsc_clean_point(struct vsc_pt *point)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:247,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:248,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:250,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:251,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:252,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:252,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:254,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:255,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:256,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:256,1
    - Dst: vsc_filter
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:258,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:258,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:261,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:261,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:262,1
    - Dst: DOF
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:271,1
    - Dst: DOF
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:272,1
    - Dst: DOF
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:273,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:275,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:276,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:277,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:277,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:279,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:281,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:283,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:289,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:290,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:291,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:291,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:293,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:295,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:297,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:299,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:305,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:306,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:307,1
    - Dst: vjsn_is_string
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:307,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:309,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:311,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:313,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:316,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:319,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:320,1
    - Dst: atoi
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 5
    argNames:
    - vsc
    - seg
    - vv
    - vsb
    - point
    argTypes:
    - struct vsc*
    - struct vsc_seg*
    - struct vjsn_val*
    - struct vsb*
    - struct vsc_pt*
    assertStmts:
    - condition: (vjsn_is_string(vt))
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - condition: (vjsn_is_string(vt))
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - condition: (vjsn_is_string(vt))
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - condition: (vjsn_is_string(vt))
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    constantsTouched: []
    func_position:
      end: 324
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 324
    functionName: vsc_fill_point
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_data
    - VSB_finish
    - VSB_printf
    - memset
    - vjsn_child
    - strdup
    - AZ
    - assert
    - vjsn_is_string
    - strcmp
    - vsc_filter
    - WRONG
    - DOF
    - atoi
    - VSB_clear
    linkageType: ''
    returnType: void
    signature: "void vsc_fill_point(const struct vsc *vsc, const struct vsc_seg *seg,\n
      \   const struct vjsn_val *vv, struct vsb *vsb, struct vsc_pt *point)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: DOF
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOF(n, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:331,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fp
    - type
    argTypes:
    - struct vsm_fantom*
    - enum vsc_seg_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 337
    functionName: vsc_new_seg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vsc_seg
    signature: 'struct vsc_seg *

      vsc_new_seg(const struct vsm_fantom *fp, enum vsc_seg_type type)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:345,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:346,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:347,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:349,1
    - Dst: vsc_clean_point
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:356,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:357,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:360,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:363,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:364,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:365,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:367,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:370,1
    - Dst: VSM_Unmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - vsc
    - vsm
    - sp
    argTypes:
    - struct vsc*
    - struct vsm*
    - struct vsc_seg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 374
    functionName: vsc_unmap_seg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vsc_clean_point
    - VSM_Unmap
    - AZ
    - WRONG
    - vjsn_delete
    - free
    linkageType: ''
    returnType: void
    signature: void vsc_unmap_seg(const struct vsc *vsc, struct vsm *vsm, struct vsc_seg
      *sp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:387,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:388,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:389,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:394,1
    - Dst: VSM_Map
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:396,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:406,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:409,1
    - Dst: VSM_Unmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:409,1
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:419,1
    - Dst: XXXAZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:420,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:421,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:425,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:431,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:432,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:433,1
    - Dst: vsc_map_seg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:434,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:436,1
    - Dst: vsc_unmap_seg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:443,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:448,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:449,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:450,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:451,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:452,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:453,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:454,1
    - Dst: vjsn_child
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:455,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:456,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:458,1
    - Dst: vsc_fill_point
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:459,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:462,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - vsc
    - vsm
    - sp
    argTypes:
    - struct vsc*
    - struct vsm*
    - struct vsc_seg*
    assertStmts:
    - condition: (sp->type == VSC_SEG_COUNTERS)
      pos:
        line_end: 424
        line_start: 424
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - condition: (spd->type == VSC_SEG_DOCS)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    constantsTouched: []
    func_position:
      end: 464
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 464
    functionName: vsc_map_seg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 1
    functionsReached:
    - vsc_map_seg
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_new_auto
    - vsc_unmap_seg
    - strtoul
    - vsc_fill_point
    - vjsn_child
    - VSM_Unmap
    - AZ
    - VSM_Map
    - assert
    - vjsn_parse
    - XXXAZ
    - VTIM_sleep
    - VTAILQ_FOREACH
    - calloc
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int vsc_map_seg(const struct vsc *vsc, struct vsm *vsm, struct vsc_seg
      *sp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:477,1
    - Dst: struct vsc*::fnew
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:495,1
    - Dst: struct vsc*::fdestroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - vsc
    - sp
    - del
    argTypes:
    - struct vsc*
    - struct vsc_seg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 500
    functionName: vsc_expose
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - struct vsc*::fnew
    - struct vsc*::fdestroy
    - AZ
    linkageType: ''
    returnType: void
    signature: void vsc_expose(const struct vsc *vsc, struct vsc_seg *sp, int del)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:511,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:512,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:514,1
    - Dst: vsc_expose
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:515,1
    - Dst: vsc_unmap_seg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:516,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - vsc
    - vsm
    - head
    argTypes:
    - struct vsc*
    - struct vsm*
    - struct vsc_seg_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 519
    functionName: vsc_del_segs
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - vsc_unmap_seg
    - FREE_OBJ
    - VTAILQ_REMOVE
    - vsc_expose
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vsc_del_segs(struct vsc *vsc, struct vsm *vsm, struct vsc_seg_head
      *head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:511,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:512,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:514,1
    - Dst: vsc_expose
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:515,1
    - Dst: vsc_unmap_seg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:516,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 518
    functionName: VTAILQ_FOREACH_SAFE
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 28
    functionsReached:
    - vsc_unmap_seg
    - FREE_OBJ
    - VTAILQ_REMOVE
    - vsc_expose
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void VTAILQ_FOREACH_SAFE(sp, head, list, sp2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:532,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:533,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:534,1
    - Dst: fiter
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - vsc
    - sp
    - fiter
    - priv
    argTypes:
    - struct vsc*
    - struct vsc_seg*
    - VSC_iter_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 541
    functionName: vsc_iter_seg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 0
    functionsReached:
    - fiter
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: "int vsc_iter_seg(const struct vsc *vsc, const struct vsc_seg *sp,\n
      \   VSC_iter_f *fiter, void *priv)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:552,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:553,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:559,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:560,1
    - Dst: VSM_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:561,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:562,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:563,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:565,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:573,1
    - Dst: VSM_StillValid
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:574,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:575,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:583,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:584,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:585,1
    - Dst: vsc_new_seg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:593,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:594,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:595,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:597,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:600,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:601,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:605,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:607,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:609,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:610,1
    - Dst: vsc_del_segs
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:613,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:616,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:617,1
    - Dst: vsc_map_seg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:626,1
    - Dst: vsc_expose
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:630,1
    - Dst: vsc_iter_seg
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:633,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 4
    argNames:
    - vsc
    - vsm
    - fiter
    - priv
    argTypes:
    - struct vsc*
    - struct vsm*
    - VSC_iter_f*
    - void*
    assertStmts:
    - condition: (sp->type == type)
      pos:
        line_end: 599
        line_start: 599
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    constantsTouched: []
    func_position:
      end: 639
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 639
    functionName: VSC_Iter
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 9
    functionsReached:
    - VTAILQ_INIT
    - VTAILQ_FIRST
    - AN
    - vsc_del_segs
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - vsc_map_seg
    - vsc_iter_seg
    - VTAILQ_REMOVE
    - strcmp
    - assert
    - VSM_FOREACH
    - vsc_new_seg
    - VTAILQ_NEXT
    - vsc_expose
    - VSM_StillValid
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: int VSC_Iter(struct vsc *vsc, struct vsm *vsm, VSC_iter_f *fiter, void
      *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:649,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:650,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:652,1
    - Dst: vsc_expose
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - vsc
    - fn
    - fd
    - priv
    argTypes:
    - struct vsc*
    - VSC_new_f*
    - VSC_destroy_f*
    - void*
    assertStmts:
    - condition: ((fn == NULL && fd == NULL) || (fn != NULL && fd != NULL))
      pos:
        line_end: 649
        line_start: 649
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    constantsTouched: []
    func_position:
      end: 658
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 658
    functionName: VSC_State
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 1
    functionsReached:
    - assert
    - vsc_expose
    - VTAILQ_FOREACH
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSC_State(struct vsc *vsc, VSC_new_f *fn, VSC_destroy_f *fd, void
      *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - old
    - chg
    argTypes:
    - struct VSC_level_desc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 682
    functionName: VSC_ChangeLevel
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct VSC_level_desc
    signature: 'struct VSC_level_desc *

      VSC_ChangeLevel(const struct VSC_level_desc *old, int chg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:692,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:694,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:695,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:696,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:697,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:698,1
    - Dst: vsc_del_segs
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:701,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:702,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:702,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsc.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - vscp
    - vsm
    argTypes:
    - struct vsc**
    - struct vsm*
    assertStmts:
    - condition: (VTAILQ_EMPTY(&vsc->docs))
      pos:
        line_end: 701
        line_start: 701
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    constantsTouched: []
    func_position:
      end: 704
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 704
    functionName: VSC_Destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsc.c
    functionUses: 4
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - vsc_del_segs
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - VTAILQ_EMPTY
    - assert
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - free
    linkageType: ''
    returnType: void
    signature: void VSC_Destroy(struct vsc **vscp, struct vsm *vsm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: VSM_PRIV_LOW
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSM_PRIV_LOW(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: VSM_PRIV_HIGH
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSM_PRIV_HIGH(u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - low
    - ','
    - high
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: VSM_PRIV_MERGE
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSM_PRIV_MERGE(low, high)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:165,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:166,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:169,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:170,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:171,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:172,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:173,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:174,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:175,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - vd
    - fmt
    argTypes:
    - struct vsm*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: vsm_diag
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - AZ
    - va_start
    - VSB_vprintf
    - VSB_clear
    - VSB_new_auto
    - va_end
    linkageType: ''
    returnType: int
    signature: int vsm_diag(struct vsm *vd, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:189,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:194,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:196,1
    - Dst: RDN2
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:200,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:201,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:203,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:204,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:205,1
    - Dst: RUP2
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:206,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:209,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:210,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:211,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:211,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:213,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:213,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:215,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:216,1
    - Dst: mmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:219,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:224,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:226,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - vd
    - vg
    argTypes:
    - struct vsm*
    - struct vsm_seg*
    assertStmts:
    - condition: (of == 0)
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->cluster == NULL)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (of >= off)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (sz > 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    constantsTouched: []
    func_position:
      end: 236
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 236
    functionName: vsm_mapseg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - getpagesize
    - RDN2
    - AN
    - CHECK_OBJ_NOTNULL
    - closefd
    - strtoul
    - VSB_finish
    - VSB_printf
    - RUP2
    - AZ
    - assert
    - vsm_diag
    - mmap
    - open
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int vsm_mapseg(struct vsm *vd, struct vsm_seg *vg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:242,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:244,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:245,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:246,1
    - Dst: munmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - vg
    argTypes:
    - struct vsm_seg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: vsm_unmapseg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - AN
    - munmap
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void vsm_unmapseg(struct vsm_seg *vg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:257,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:260,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:261,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:265,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:267,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:268,1
    - Dst: vsm_unmapseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:273,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:277,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:281,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:283,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:284,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - vg
    - refsok
    argTypes:
    - struct vsm_seg*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 286
    functionName: vsm_delseg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - vsm_unmapseg
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VAV_Free
    - FREE_OBJ
    - VTAILQ_REMOVE
    - AZ
    - VTAILQ_NEXT
    linkageType: ''
    returnType: void
    signature: void vsm_delseg(struct vsm_seg *vg, int refsok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:295,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:296,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:297,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:298,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:299,1
    - Dst: VLU_New
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:302,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:303,1
    - Dst: getenv
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: vsm_newset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - VLU_New
    - getenv
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vsm_set
    signature: 'struct vsm_set *

      vsm_newset(const char *dirname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:315,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:318,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:320,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:321,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:322,1
    - Dst: vsm_delseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:323,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:325,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:326,1
    - Dst: vsm_delseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:327,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:329,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:329,1
    - Dst: VLU_Destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:330,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vsm_set**
    assertStmts:
    - condition: (VTAILQ_EMPTY(&vs->clusters))
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    constantsTouched: []
    func_position:
      end: 332
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 332
    functionName: vsm_delset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - TAKE_OBJ_NOTNULL
    - AN
    - VLU_Destroy
    - VTAILQ_EMPTY
    - FREE_OBJ
    - AZ
    - assert
    - vsm_delseg
    - closefd
    linkageType: ''
    returnType: void
    signature: void vsm_delset(struct vsm_set **p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:339,1
    - Dst: vsm_delseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - vs
    - all
    argTypes:
    - struct vsm_set*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: vsm_wash_set
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH_SAFE
    - vsm_delseg
    linkageType: ''
    returnType: void
    signature: void vsm_wash_set(const struct vsm_set *vs, int all)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:352,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:353,1
    - Dst: vsm_newset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:355,1
    - Dst: vsm_newset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 370
    functionName: VSM_New
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 6
    functionsReached:
    - vsm_newset
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vsm
    signature: 'struct vsm *

      VSM_New(void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:379,1
    - Dst: strcasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:385,1
    - Dst: strtod
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:388,1
    - Dst: isfinite
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:390,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:391,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:397,1
    - Dst: VIN_n_Arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:398,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:400,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:401,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:404,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - vd
    - flag
    - arg
    argTypes:
    - struct vsm*
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 407
    functionName: VSM_Arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 6
    functionsReached:
    - strtod
    - CHECK_OBJ_NOTNULL
    - strcasecmp
    - isfinite
    - strerror
    - vsm_diag
    - VIN_n_Arg
    - free
    linkageType: ''
    returnType: int
    signature: int VSM_Arg(struct vsm *vd, char flag, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:416,1
    - Dst: VSM_ResetError
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:418,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:419,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:421,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:423,1
    - Dst: vsm_delset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:424,1
    - Dst: vsm_delset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:425,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - vdp
    argTypes:
    - struct vsm**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 427
    functionName: VSM_Destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 6
    functionsReached:
    - VSB_destroy
    - TAKE_OBJ_NOTNULL
    - vsm_delset
    - FREE_OBJ
    - REPLACE
    - VSM_ResetError
    - closefd
    linkageType: ''
    returnType: void
    signature: void VSM_Destroy(struct vsm **vdp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:435,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 441
    functionName: VSM_Error
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 6
    functionsReached:
    - VSB_data
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: char
    signature: 'char *

      VSM_Error(const struct vsm *vd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:449,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: VSM_ResetError
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 1
    functionsReached:
    - VSB_destroy
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSM_ResetError(struct vsm *vd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: vsm_cmp_av
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int vsm_cmp_av(char * const *a1, char * const *a2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:479,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:480,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:481,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:482,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vs
    - cnam
    argTypes:
    - struct vsm_set*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 487
    functionName: vsm_findcluster
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - AN
    - strcmp
    linkageType: ''
    returnType: struct vsm_seg
    signature: 'struct vsm_seg *

      vsm_findcluster(const struct vsm_set *vs, const char *cnam)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:493,1
    - Dst: kill
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:498,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - vs
    - pid
    argTypes:
    - struct vsm_set*
    - pid_t
    assertStmts:
    - condition: (errno != EINVAL)
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: vsm_running
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - kill
    linkageType: ''
    returnType: unsigned
    signature: unsigned vsm_running(struct vsm_set *vs, pid_t pid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:514,1
    - Dst: vsm_running
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - vs
    - line
    argTypes:
    - struct vsm_set*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 532
    functionName: vsm_vlu_hash
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - sscanf
    - vsm_running
    linkageType: ''
    returnType: int
    signature: int vsm_vlu_hash(struct vsm_set *vs, const char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:541,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:544,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:546,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:551,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:553,1
    - Dst: vsm_cmp_av
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:554,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:555,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:558,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:559,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:561,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:563,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:564,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:570,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:573,1
    - Dst: vsm_findcluster
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:575,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - vd
    - vs
    - line
    argTypes:
    - struct vsm*
    - struct vsm_set*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 581
    functionName: vsm_vlu_plus
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - AN
    - VTAILQ_INSERT_TAIL
    - VAV_Free
    - vsm_cmp_av
    - CHECK_OBJ_NOTNULL
    - AZ
    - vsm_diag
    - vsm_findcluster
    - VTAILQ_NEXT
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    linkageType: ''
    returnType: int
    signature: int vsm_vlu_plus(struct vsm *vd, struct vsm_set *vs, const char *line)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:590,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:593,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:595,1
    - Dst: vsm_findcluster
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:601,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:603,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:605,1
    - Dst: vsm_cmp_av
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:606,1
    - Dst: vsm_delseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:608,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:612,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - vd
    - vs
    - line
    argTypes:
    - struct vsm*
    - struct vsm_set*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 615
    functionName: vsm_vlu_minus
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - VTAILQ_FIRST
    - AN
    - VAV_Free
    - vsm_cmp_av
    - vsm_findcluster
    - vsm_diag
    - vsm_delseg
    - VTAILQ_NEXT
    linkageType: ''
    returnType: int
    signature: int vsm_vlu_minus(struct vsm *vd, struct vsm_set *vs, const char *line)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:624,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:626,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:627,1
    - Dst: VSM_PRIV_LOW
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:632,1
    - Dst: vsm_vlu_hash
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:636,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:637,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:640,1
    - Dst: vsm_vlu_plus
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:643,1
    - Dst: vsm_vlu_minus
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - priv
    - line
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 652
    functionName: vsm_vlu_func
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - vsm_vlu_hash
    - AN
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - VSM_PRIV_LOW
    - CAST_OBJ_NOTNULL
    - vsm_vlu_plus
    - vsm_vlu_minus
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void vsm_vlu_func(void *priv, const char *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:660,1
    - Dst: VLU_Fd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:661,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vs
    argTypes:
    - struct vsm_set*
    assertStmts:
    - condition: (vs->fd >= 0)
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (i == -2)
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: vsm_readlines
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - assert
    - VLU_Fd
    linkageType: ''
    returnType: void
    signature: void vsm_readlines(struct vsm_set *vs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:672,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:673,1
    - Dst: fstatat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:676,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:681,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:687,1
    - Dst: openat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:688,1
    - Dst: vsm_wash_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:693,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:697,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:697,1
    - Dst: fstatat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:700,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:706,1
    - Dst: vsm_readlines
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:712,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:714,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:716,1
    - Dst: openat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:717,1
    - Dst: VLU_Reset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:720,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:721,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:721,1
    - Dst: vsm_readlines
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:722,1
    - Dst: vsm_wash_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:723,1
    - Dst: lseek
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:726,1
    - Dst: vsm_running
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:728,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 2
    argNames:
    - vd
    - vs
    argTypes:
    - struct vsm*
    - struct vsm_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 731
    functionName: vsm_refresh_set
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - fstatat
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - vsm_running
    - lseek
    - AZ
    - vsm_wash_set
    - openat
    - VLU_Reset
    - VTAILQ_FOREACH
    - vsm_readlines
    - closefd
    - fstat
    linkageType: ''
    returnType: unsigned
    signature: unsigned vsm_refresh_set(struct vsm *vd, struct vsm_set *vs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:741,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:745,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:745,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:750,1
    - Dst: vsm_wash_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:751,1
    - Dst: vsm_wash_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:752,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:760,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:762,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:765,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:765,1
    - Dst: vsm_refresh_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:769,1
    - Dst: vsm_refresh_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:773,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vsm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 778
    functionName: VSM_Status
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 9
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - AZ
    - vsm_diag
    - vsm_wash_set
    - open
    - vsm_refresh_set
    - closefd
    - fstat
    linkageType: ''
    returnType: unsigned
    signature: unsigned VSM_Status(struct vsm *vd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:790,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:795,1
    - Dst: getenv
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:798,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:801,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:804,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:807,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:809,1
    - Dst: VSM_ResetError
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:810,1
    - Dst: write
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:813,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:817,1
    - Dst: write
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:819,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:820,1
    - Dst: write
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:824,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:825,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:827,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - vd
    - progress
    argTypes:
    - struct vsm*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 782
    functionDepth: 5
    functionLinenumber: 782
    functionLinenumberEnd: 828
    functionName: VSM_Attach
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 6
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSM_ResetError
    - AZ
    - getenv
    - write
    - vsm_diag
    - VSM_Arg
    - VTIM_mono
    - VSM_Status
    - VTIM_sleep
    linkageType: ''
    returnType: int
    signature: int VSM_Attach(struct vsm *vd, int progress)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:837,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - vs
    - serial
    argTypes:
    - struct vsm_set*
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 846
    functionName: vsm_set_findseg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: struct vsm_seg
    signature: 'struct vsm_seg *

      vsm_set_findseg(const struct vsm_set *vs, uintptr_t serial)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSM_PRIV_HIGH
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:854,1
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:857,1
    - Dst: VSM_PRIV_LOW
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:858,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:859,1
    - Dst: VSM_PRIV_LOW
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:863,1
    - Dst: vsm_set_findseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:864,1
    - Dst: vsm_set_findseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:866,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:872,1
    - Dst: VSM_PRIV_MERGE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - vd
    - vf
    argTypes:
    - struct vsm*
    - struct vsm_fantom*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 875
    functionName: vsm_findseg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - VSM_PRIV_HIGH
    - vsm_set_findseg
    - VSM_PRIV_LOW
    - VSM_PRIV_MERGE
    - TRUST_ME
    - WRONG
    - VALID_OBJ
    linkageType: ''
    returnType: struct vsm_seg
    signature: 'struct vsm_seg *

      vsm_findseg(const struct vsm *vd, const struct vsm_fantom *vf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:883,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:884,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:886,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vd
    - vf
    argTypes:
    - struct vsm*
    - struct vsm_fantom*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 888
    functionName: VSM__iter0
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - memset
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSM__iter0(const struct vsm *vd, struct vsm_fantom *vf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:895,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:896,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:897,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:900,1
    - Dst: vsm_findseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:904,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:906,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:908,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:909,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:911,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:918,1
    - Dst: VSM_PRIV_MERGE
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:919,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:923,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - vd
    - vf
    argTypes:
    - struct vsm*
    - struct vsm_fantom*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 925
    functionName: VSM__itern
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - vsm_findseg
    - VTAILQ_FIRST
    - AN
    - CHECK_OBJ_NOTNULL
    - memset
    - VSM_PRIV_MERGE
    - vsm_diag
    - VTAILQ_NEXT
    linkageType: ''
    returnType: int
    signature: int VSM__itern(struct vsm *vd, struct vsm_fantom *vf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:936,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:937,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:938,1
    - Dst: vsm_findseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:939,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:941,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:943,1
    - Dst: VSM_PRIV_LOW
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:943,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:944,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:945,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:948,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:949,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:956,1
    - Dst: vsm_mapseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:961,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:972,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:973,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:974,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:975,1
    - Dst: vsm_mapseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:977,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:982,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:983,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:984,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:986,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 2
    argNames:
    - vd
    - vf
    argTypes:
    - struct vsm*
    - struct vsm_fantom*
    assertStmts:
    - condition: (vg->s == NULL)
      pos:
        line_end: 973
        line_start: 973
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->serial == VSM_PRIV_LOW(vf->priv))
      pos:
        line_end: 942
        line_start: 942
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->av[5] == vf->ident)
      pos:
        line_end: 944
        line_start: 944
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->refs == 0)
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->refs > 0)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->sz == 0)
      pos:
        line_end: 974
        line_start: 974
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (sz > 0)
      pos:
        line_end: 983
        line_start: 983
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vgc->sz >= of + sz)
      pos:
        line_end: 985
        line_start: 985
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->av[4] == vf->category)
      pos:
        line_end: 943
        line_start: 943
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vgc->flags & VSM_FLAG_CLUSTER)
      pos:
        line_end: 972
        line_start: 972
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vgc->s == vgc->b)
      pos:
        line_end: 986
        line_start: 986
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    constantsTouched: []
    func_position:
      end: 997
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 997
    functionName: VSM_Map
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 1
    functionsReached:
    - vsm_findseg
    - AN
    - CHECK_OBJ_NOTNULL
    - strtoul
    - VSM_PRIV_LOW
    - vsm_mapseg
    - assert
    - vsm_diag
    linkageType: ''
    returnType: int
    signature: int VSM_Map(struct vsm *vd, struct vsm_fantom *vf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1006,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1007,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1008,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1009,1
    - Dst: vsm_findseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1010,1
    - Dst: vsm_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1012,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1013,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1014,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1022,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1023,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1024,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1025,1
    - Dst: vsm_unmapseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1027,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1029,1
    - Dst: vsm_delseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1030,1
    - Dst: vsm_unmapseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1035,1
    - Dst: vsm_delseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1038,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - vd
    - vf
    argTypes:
    - struct vsm*
    - struct vsm_fantom*
    assertStmts:
    - condition: (vg->refs > 0)
      pos:
        line_end: 1013
        line_start: 1013
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->s == NULL)
      pos:
        line_end: 1022
        line_start: 1022
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->sz == 0)
      pos:
        line_end: 1023
        line_start: 1023
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - condition: (vg->cluster->refs > 0)
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    constantsTouched: []
    func_position:
      end: 1040
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1040
    functionName: VSM_Unmap
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 2
    functionsReached:
    - vsm_findseg
    - vsm_unmapseg
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - vsm_diag
    - vsm_delseg
    linkageType: ''
    returnType: int
    signature: int VSM_Unmap(struct vsm *vd, struct vsm_fantom *vf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1049,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1050,1
    - Dst: vsm_findseg
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vd
    - vf
    argTypes:
    - struct vsm*
    - struct vsm_fantom*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1055
    functionName: VSM_StillValid
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 1
    functionsReached:
    - vsm_findseg
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct vsm_valid
    signature: 'struct vsm_valid *

      VSM_StillValid(const struct vsm *vd, const struct vsm_fantom *vf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1064,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1065,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1067,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1069,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - vd
    - vf
    - category
    - ident
    argTypes:
    - struct vsm*
    - struct vsm_fantom*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1075
    functionName: VSM_Get
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 0
    functionsReached:
    - memset
    - AN
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int VSM_Get(struct vsm *vd, struct vsm_fantom *vf,\n    const char
      *category, const char *ident)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1067,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1069,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    functionName: VSM_FOREACH
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void VSM_FOREACH(vf, vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1085,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1086,1
    - Dst: VSM_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1087,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1088,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1090,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1092,1
    - Dst: VSM_Map
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1092,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1093,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1094,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1095,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1096,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1097,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1098,1
    - Dst: VSM_Unmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsm.c:1098,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - vd
    - category
    - ident
    argTypes:
    - struct vsm*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1079
    functionDepth: 3
    functionLinenumber: 1079
    functionLinenumberEnd: 1102
    functionName: VSM_Dup
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsm.c
    functionUses: 3
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - malloc
    - memcpy
    - VSM_Unmap
    - AZ
    - strcmp
    - VSM_Map
    - VSM_FOREACH
    linkageType: ''
    returnType: char
    signature: 'char *

      VSM_Dup(struct vsm *vd, const char *category, const char *ident)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:76,1
    - Dst: vinyl_daemon
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - vut
    argTypes:
    - struct VUT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: vut_daemon
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - VUT_Error
    - vinyl_daemon
    linkageType: ''
    returnType: int
    signature: int vut_daemon(struct VUT *vut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:85,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:86,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:87,1
    - Dst: VPF_Remove
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:89,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:90,1
    - Dst: ZERO_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: vut_vpf_remove
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - VPF_Remove
    - AN
    - ZERO_OBJ
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void vut_vpf_remove(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:102,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:106,1
    - Dst: struct VUT*::dispatch_f
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - vsl
    - trans
    - priv
    argTypes:
    - struct VSL_data*
    - struct VSL_transaction*[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 113
    functionName: vut_dispatch
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - struct VUT*::dispatch_f
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vut_dispatch(struct VSL_data *vsl, struct VSL_transaction * const
      trans[],\n    void *priv)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:120,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:121,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:123,1
    - Dst: struct VUT*::error_f
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:125,1
    - Dst: vfprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:127,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:128,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:130,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - vut
    - status
    - fmt
    argTypes:
    - struct VUT*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: VUT_Error
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 13
    functionsReached:
    - fprintf
    - AN
    - CHECK_OBJ_NOTNULL
    - exit
    - struct VUT*::error_f
    - vfprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void VUT_Error(struct VUT *vut, int status, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:139,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:141,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:145,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:146,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:147,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:147,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:148,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:148,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:150,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:150,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - vut
    - arg
    argTypes:
    - struct VUT*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 153
    functionName: vut_arg_q
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_finish
    - VSB_printf
    - REPLACE
    - AZ
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void vut_arg_q(struct VUT *vut, const char *arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:162,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:178,1
    - Dst: VSLQ_Name2Grouping
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:179,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:181,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:183,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:187,1
    - Dst: strtol
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:188,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:190,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:194,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:195,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:199,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:200,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:203,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:204,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:206,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:206,1
    - Dst: vut_arg_q
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:207,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:212,1
    - Dst: vut_arg_q
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:213,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:217,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:218,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:222,1
    - Dst: VCS_Message
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:226,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:227,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:229,1
    - Dst: VSL_Arg
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:230,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:232,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 64
    argCount: 3
    argNames:
    - vut
    - opt
    - arg
    argTypes:
    - struct VUT*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 235
    functionName: VUT_Arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 5
    functionsReached:
    - AN
    - vut_arg_q
    - VSL_Arg
    - CHECK_OBJ_NOTNULL
    - VCS_Message
    - REPLACE
    - exit
    - VUT_Error
    - strerror
    - strtol
    - VSLQ_Name2Grouping
    - VSL_Error
    - VFIL_readfile
    - free
    linkageType: ''
    returnType: int
    signature: int VUT_Arg(struct VUT *vut, int opt, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:244,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:245,1
    - Dst: VSIG_Arm_hup
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:247,1
    - Dst: VSIG_Arm_int
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:248,1
    - Dst: VSIG_Arm_term
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:249,1
    - Dst: VSIG_Arm_usr1
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:250,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:252,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:253,1
    - Dst: vut_synopsis
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:253,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:254,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:255,1
    - Dst: vut_options
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:255,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:256,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:257,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:258,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:261,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:262,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:266,1
    - Dst: VSL_New
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:267,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - progname
    - argc
    - argv
    - voc
    argTypes:
    - char*
    - int
    - char**
    - struct vopt_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 270
    functionName: VUT_Init
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - vut_synopsis
    - AN
    - VSL_New
    - VSIG_Arm_hup
    - exit
    - strcmp
    - AZ
    - VSIG_Arm_usr1
    - VSIG_Arm_int
    - vut_options
    - printf
    - ALLOC_OBJ
    - VSIG_Arm_term
    linkageType: ''
    returnType: struct VUT
    signature: "struct VUT *\nVUT_Init(const char *progname, int argc, char * const
      *argv,\n    const struct vopt_spec *voc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:276,1
    - Dst: signal
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:277,1
    - Dst: signal
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:278,1
    - Dst: signal
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:279,1
    - Dst: signal
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sig_cb
    argTypes:
    - VUT_sighandler_f
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: VUT_Signal
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - signal
    - AN
    linkageType: ''
    returnType: void
    signature: void VUT_Signal(VUT_sighandler_f sig_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vut
    - sig
    argTypes:
    - struct VUT*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: VUT_Signaled
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VUT_Signaled(struct VUT *vut, int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: VSIG_SIGNAL
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSIG_SIGNAL(UPPER, lower)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:298,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:299,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:300,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:301,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:306,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:308,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:309,1
    - Dst: VSLQ_New
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:312,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:315,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:316,1
    - Dst: VSL_CursorFile
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:323,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:325,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:325,1
    - Dst: VSLQ_SetCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:326,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:327,1
    - Dst: VSM_New
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:329,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:330,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:331,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:332,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:332,1
    - Dst: VSM_Arg
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:333,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:334,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:334,1
    - Dst: VSM_Attach
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:335,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:336,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:336,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:343,1
    - Dst: VPF_Open
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:344,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:346,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:347,1
    - Dst: vut_daemon
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:351,1
    - Dst: VUT_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:352,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:352,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:356,1
    - Dst: VPF_Write
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:357,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:360,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:365,1
    - Dst: atexit
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:365,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - vut
    argTypes:
    - struct VUT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 293
    functionDepth: 6
    functionLinenumber: 293
    functionLinenumberEnd: 367
    functionName: VUT_Setup
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 4
    functionsReached:
    - vut_daemon
    - VPF_Open
    - VSLQ_New
    - AN
    - VSM_New
    - VSM_Error
    - atexit
    - VPF_Write
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VUT_Error
    - strcmp
    - AZ
    - VSL_CursorFile
    - VSM_Arg
    - VSM_Attach
    - strerror
    - VSL_Error
    - VSLQ_SetCursor
    linkageType: ''
    returnType: void
    signature: void VUT_Setup(struct VUT *vut)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:374,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:375,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:377,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:378,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:379,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:380,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:381,1
    - Dst: VSLQ_Delete
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:384,1
    - Dst: VSL_Delete
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:386,1
    - Dst: VSM_Destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:388,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - vutp
    argTypes:
    - struct VUT**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 369
    functionDepth: 4
    functionLinenumber: 369
    functionLinenumberEnd: 391
    functionName: VUT_Fini
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 4
    functionsReached:
    - VSLQ_Delete
    - TAKE_OBJ_NOTNULL
    - AN
    - VSL_Delete
    - FREE_OBJ
    - AZ
    - VSM_Destroy
    - free
    linkageType: ''
    returnType: void
    signature: void VUT_Fini(struct VUT **vutp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:399,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:400,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:401,1
    - Dst: VSL_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:403,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:407,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:408,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - vut
    - last
    argTypes:
    - struct VUT*
    - vtim_mono*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: vut_CursorError
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - CHECK_OBJ_NOTNULL
    - isnan
    - VTIM_mono
    - VSL_Error
    linkageType: ''
    returnType: void
    signature: void vut_CursorError(struct VUT *vut, vtim_mono *last)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:422,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:423,1
    - Dst: struct VUT*::sighup_f
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:430,1
    - Dst: VSLQ_Flush
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:440,1
    - Dst: VSM_Status
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:460,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:462,1
    - Dst: VSLQ_SetCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:463,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:469,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:470,1
    - Dst: VSL_CursorVSM
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:471,1
    - Dst: vut_CursorError
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:475,1
    - Dst: VSL_ResetError
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:476,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:480,1
    - Dst: VSLQ_SetCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:482,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:483,1
    - Dst: VSLQ_Dispatch
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:487,1
    - Dst: struct VUT*::idle_f
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:496,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:500,1
    - Dst: VSLQ_Flush
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:510,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:513,1
    - Dst: VSLQ_SetCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:514,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:517,1
    - Dst: VSLQ_SetCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:518,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:521,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 69
    argCount: 1
    argNames:
    - vut
    argTypes:
    - struct VUT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 525
    functionName: VUT_Main
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 4
    functionsReached:
    - VTIM_sleep
    - fprintf
    - struct VUT*::idle_f
    - AN
    - VSL_ResetError
    - CHECK_OBJ_NOTNULL
    - AZ
    - vut_CursorError
    - VSLQ_Dispatch
    - VSM_Status
    - VSLQ_SetCursor
    - VSLQ_Flush
    - struct VUT*::sighup_f
    - VSL_CursorVSM
    linkageType: ''
    returnType: int
    signature: int VUT_Main(struct VUT *vut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:534,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:535,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:537,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vut
    - voc
    - status
    argTypes:
    - struct VUT*
    - struct vopt_spec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 539
    functionName: v_noreturn_::VUT_Usage
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'void v_noreturn_

      VUT_Usage(const struct VUT *vut, const struct vopt_spec *voc, int status)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:550,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:552,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:553,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:562,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 563
    functionName: print_nobrackets
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - printf
    - isspace
    - strlen
    linkageType: ''
    returnType: void
    signature: void print_nobrackets(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:574,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - string
    - tabs
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 577
    functionName: print_tabbed
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_tabbed(const char *string, int tabs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_nobrackets
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:582,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:583,1
    - Dst: print_tabbed
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:584,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - opt
    argTypes:
    - struct vopt_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: print_opt
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 0
    functionsReached:
    - printf
    - print_tabbed
    - print_nobrackets
    linkageType: ''
    returnType: void
    signature: void print_opt(const struct vopt_list *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - voc
    argTypes:
    - struct vopt_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: vut_synopsis
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int vut_synopsis(const struct vopt_spec *voc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_opt
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:601,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vut.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - voc
    argTypes:
    - struct vopt_spec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 606
    functionName: vut_options
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vut.c
    functionUses: 1
    functionsReached:
    - printf
    - print_opt
    linkageType: ''
    returnType: int
    signature: int vut_options(const struct vopt_spec *voc)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct vtx_key*
    - struct vtx_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: vtx_keycmp
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vtx_keycmp(const struct vtx_key *a, const struct vtx_key *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:244,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:245,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: vslc_raw_next
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_raw_next(const struct VSL_cursor *cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:262,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:263,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: vslc_raw_reset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_raw_reset(const struct VSL_cursor *cursor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:286,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:287,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:288,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:291,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:296,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:299,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:305,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:308,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:311,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:312,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:319,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:323,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (c->chunk->type == chunk_t_buf)
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 329
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 329
    functionName: vslc_vtx_next
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - VSL_TAG
    - CAST_OBJ_NOTNULL
    - assert
    - AZ
    - VTAILQ_NEXT
    - CHECK_OBJ_ORNULL
    - VSL_NEXT
    linkageType: ''
    returnType: void
    signature: void vslc_vtx_next(const struct VSL_cursor *cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:337,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:338,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 346
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 346
    functionName: vslc_vtx_reset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - assert
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_vtx_reset(const struct VSL_cursor *cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:362,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:363,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:370,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - vtx
    - ptr
    - len
    argTypes:
    - struct vtx*
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 374
    functionName: chunk_newbuf
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - memcpy
    - XXXAN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct chunk
    signature: 'struct chunk *

      chunk_newbuf(struct vtx *vtx, const uint32_t *ptr, size_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:382,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:383,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:384,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pchunk
    argTypes:
    - struct chunk**
    assertStmts:
    - condition: (chunk->type == chunk_t_buf)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: chunk_freebuf
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - assert
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void chunk_freebuf(struct chunk **pchunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:393,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:394,1
    - Dst: realloc
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:398,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - chunk
    - ptr
    - len
    argTypes:
    - struct chunk*
    - uint32_t*
    - size_t
    assertStmts:
    - condition: (chunk->type == chunk_t_buf)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: chunk_appendbuf
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    - CHECK_OBJ_NOTNULL
    - realloc
    linkageType: ''
    returnType: void
    signature: void chunk_appendbuf(struct chunk *chunk, const uint32_t *ptr, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:412,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:413,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:415,1
    - Dst: VTAILQ_PREV
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:417,1
    - Dst: chunk_appendbuf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:420,1
    - Dst: chunk_newbuf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:423,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:424,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:425,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:433,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:434,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - vslq
    - chunk
    argTypes:
    - struct VSLQ*
    - struct chunk*
    assertStmts:
    - condition: (chunk->type == chunk_t_shm)
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 436
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 436
    functionName: chunk_shm_to_buf
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - chunk_appendbuf
    - AN
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - VTAILQ_REMOVE
    - assert
    - chunk_newbuf
    - VTAILQ_PREV
    - VTAILQ_INSERT_BEFORE
    linkageType: ''
    returnType: void
    signature: void chunk_shm_to_buf(struct VSLQ *vslq, struct chunk *chunk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:446,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:447,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:448,1
    - Dst: VSL_Check
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:450,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:454,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:456,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:457,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:458,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:459,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:460,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:463,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:466,1
    - Dst: VTAILQ_LAST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:469,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:470,1
    - Dst: chunk_appendbuf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:473,1
    - Dst: chunk_newbuf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:476,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:477,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - vslq
    - vtx
    - start
    - len
    argTypes:
    - struct VSLQ*
    - struct vtx*
    - struct VSLC_ptr*
    - size_t
    assertStmts:
    - condition: (chunk->type == chunk_t_shm)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (chunk->vtx == vtx)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 483
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 483
    functionName: vtx_append
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - chunk_appendbuf
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - VTAILQ_LAST
    - assert
    - chunk_newbuf
    - VTAILQ_REMOVE
    - VSL_Check
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: enum vsl_status
    signature: "enum vsl_status vtx_append(struct VSLQ *vslq, struct vtx *vtx, const
      struct VSLC_ptr *start,\n    size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:492,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:494,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:494,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:495,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:496,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:499,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:500,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:502,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:503,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:508,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:511,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:512,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:519,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:521,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:530,1
    - Dst: vslc_vtx_reset
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - vslq
    argTypes:
    - struct VSLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 533
    functionName: vtx_new
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - VTAILQ_FIRST
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - vslc_vtx_reset
    - AZ
    - VTIM_mono
    - VTAILQ_REMOVE
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vtx
    signature: 'struct vtx *

      vtx_new(struct VSLQ *vslq)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:545,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:546,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:548,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:549,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:550,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:552,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:553,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:554,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:555,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:556,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:557,1
    - Dst: vtx_retire
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:561,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:562,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:564,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:565,1
    - Dst: VRBT_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:568,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:572,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:573,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:574,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:575,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:576,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:579,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:580,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:581,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:582,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:584,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:585,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:587,1
    - Dst: chunk_freebuf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:588,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:589,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:593,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:597,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 2
    argNames:
    - vslq
    - pvtx
    argTypes:
    - struct VSLQ*
    - struct vtx**
    assertStmts:
    - condition: (child->parent == vtx)
      pos:
        line_end: 553
        line_start: 553
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (chunk->type == chunk_t_buf)
      pos:
        line_end: 586
        line_start: 586
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (vtx->n_descend >= child->n_descend + 1)
      pos:
        line_end: 555
        line_start: 555
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 602
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 602
    functionName: vtx_retire
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 1
    functionsReached:
    - chunk_freebuf
    - VTAILQ_FIRST
    - AN
    - TAKE_OBJ_NOTNULL
    - VTAILQ_INSERT_HEAD
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - VRBT_REMOVE
    - AZ
    - assert
    - VTAILQ_REMOVE
    - vtx_retire
    linkageType: ''
    returnType: void
    signature: void vtx_retire(struct VSLQ *vslq, struct vtx **pvtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:611,1
    - Dst: VRBT_FIND
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:613,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vslq
    - vxid
    argTypes:
    - struct VSLQ*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 618
    functionName: vtx_lookup
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - VRBT_FIND
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: struct vtx
    signature: 'struct vtx *

      vtx_lookup(const struct VSLQ *vslq, uint64_t vxid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:626,1
    - Dst: vtx_new
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:627,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:628,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:630,1
    - Dst: VRBT_INSERT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:630,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - vslq
    - vxid
    argTypes:
    - struct VSLQ*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: vtx_add
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - AN
    - VRBT_INSERT
    - AZ
    - vtx_new
    - VTAILQ_INSERT_TAIL
    linkageType: ''
    returnType: struct vtx
    signature: 'struct vtx *

      vtx_add(struct VSLQ *vslq, uint64_t vxid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:642,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:643,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:644,1
    - Dst: vtx_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:647,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:650,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:653,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:661,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - vslq
    - vtx
    argTypes:
    - struct VSLQ*
    - struct vtx*
    assertStmts:
    - condition: (vtx->n_child >= vtx->n_childready)
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 668
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 668
    functionName: vtx_mark_complete
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - vtx_diag
    - AN
    - VTAILQ_INSERT_TAIL
    - AZ
    - assert
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void vtx_mark_complete(struct VSLQ *vslq, struct vtx *vtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:675,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:676,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:677,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:678,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:679,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:680,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - parent
    - child
    argTypes:
    - struct vtx*
    - struct vtx*
    assertStmts:
    - condition: (parent != child)
      pos:
        line_end: 676
        line_start: 676
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 687
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 687
    functionName: vtx_set_parent
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - assert
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void vtx_set_parent(struct vtx *parent, struct vtx *child)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:701,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:702,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:703,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:704,1
    - Dst: sscanf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:706,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:712,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:721,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:728,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 5
    argNames:
    - str
    - ptype
    - pvxid
    - preason
    - psub
    argTypes:
    - char*
    - enum VSL_transaction_e*
    - uint64_t*
    - enum VSL_reason_e*
    - uint64_t*
    assertStmts:
    - condition: ((vxid & ~VSL_IDENTMASK) == 0)
      pos:
        line_end: 720
        line_start: 720
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 740
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 740
    functionName: vtx_parse_link
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - assert
    - sscanf
    - AN
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int vtx_parse_link(const char *str, enum VSL_transaction_e *ptype,\n
      \   uint64_t *pvxid, enum VSL_reason_e *preason, uint64_t *psub)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:752,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:752,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:754,1
    - Dst: vtx_parse_link
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:756,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:756,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:758,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:760,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:766,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:774,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:786,1
    - Dst: vtx_lookup
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:792,1
    - Dst: vtx_add
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:795,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:796,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:798,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:800,1
    - Dst: vtx_set_parent
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:804,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - vslq
    - vtx
    - ptr
    argTypes:
    - struct VSLQ*
    - struct vtx*
    - uint32_t*
    assertStmts:
    - condition: (VSL_TAG(ptr) == SLT_Begin)
      pos:
        line_end: 751
        line_start: 751
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 807
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 807
    functionName: vtx_scan_begin
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - vtx_lookup
    - AN
    - CHECK_OBJ_NOTNULL
    - VSL_CDATA
    - VSL_TAG
    - AZ
    - assert
    - vtx_diag_tag
    - vtx_add
    - vtx_set_parent
    - vtx_parse_link
    linkageType: ''
    returnType: int
    signature: int vtx_scan_begin(struct VSLQ *vslq, struct vtx *vtx, const uint32_t
      *ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:819,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:819,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:821,1
    - Dst: vtx_parse_link
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:823,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:823,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:825,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:827,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:835,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:837,1
    - Dst: vtx_lookup
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:840,1
    - Dst: vtx_add
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:843,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:844,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:845,1
    - Dst: vtx_set_parent
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:848,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:852,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:857,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:859,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:861,1
    - Dst: vtx_set_parent
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:865,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - vslq
    - vtx
    - ptr
    argTypes:
    - struct VSLQ*
    - struct vtx*
    - uint32_t*
    assertStmts:
    - condition: (VSL_TAG(ptr) == SLT_Link)
      pos:
        line_end: 818
        line_start: 818
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 867
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 867
    functionName: vtx_scan_link
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - vtx_lookup
    - AN
    - CHECK_OBJ_NOTNULL
    - VSL_CDATA
    - VSL_TAG
    - AZ
    - assert
    - vtx_diag_tag
    - vtx_add
    - vtx_set_parent
    - vtx_parse_link
    linkageType: ''
    returnType: int
    signature: int vtx_scan_link(struct VSLQ *vslq, struct vtx *vtx, const uint32_t
      *ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vslc_vtx_next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:878,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:880,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:881,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:885,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:886,1
    - Dst: vtx_diag_tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:891,1
    - Dst: vtx_scan_begin
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:893,1
    - Dst: vtx_scan_link
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:899,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:903,1
    - Dst: vtx_mark_complete
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - vslq
    - vtx
    argTypes:
    - struct VSLQ*
    - struct vtx*
    assertStmts:
    - condition: (tag != SLT__Batch)
      pos:
        line_end: 885
        line_start: 885
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 912
      start: 871
    functionDepth: 4
    functionLinenumber: 871
    functionLinenumberEnd: 912
    functionName: vtx_scan
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - vtx_scan_begin
    - VSL_TAG
    - vtx_diag_tag
    - assert
    - AZ
    - vtx_scan_link
    - vslc_vtx_next
    - vtx_mark_complete
    - VSL_ID
    linkageType: ''
    returnType: void
    signature: void vtx_scan(struct VSLQ *vslq, struct vtx *vtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:920,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:921,1
    - Dst: vtx_scan
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:922,1
    - Dst: vtx_synth_rec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:924,1
    - Dst: vtx_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:926,1
    - Dst: vtx_synth_rec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:928,1
    - Dst: vtx_scan
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:929,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:930,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - vslq
    - vtx
    - reason
    argTypes:
    - struct VSLQ*
    - struct vtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 916
    functionDepth: 5
    functionLinenumber: 916
    functionLinenumberEnd: 931
    functionName: vtx_force
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - vtx_diag
    - AN
    - vtx_synth_rec
    - AZ
    - vtx_scan
    linkageType: ''
    returnType: void
    signature: void vtx_force(struct VSLQ *vslq, struct vtx *vtx, const char *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:939,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:940,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:942,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - vslq
    argTypes:
    - struct VSLQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 953
    functionName: vslq_ratelimit
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - vmin_t
    - CHECK_OBJ_NOTNULL
    - VTIM_mono
    linkageType: ''
    returnType: int
    signature: int vslq_ratelimit(struct VSLQ *vslq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:967,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:968,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:969,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:970,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:980,1
    - Dst: vslc_vtx_reset
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:980,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:991,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:992,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:993,1
    - Dst: vslc_vtx_reset
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:993,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1009,1
    - Dst: vslq_runquery
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1017,1
    - Dst: vslq_ratelimit
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1020,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - vslq
    - vtx
    - func
    - priv
    argTypes:
    - struct VSLQ*
    - struct vtx*
    - VSLQ_dispatch_f*
    - void*
    assertStmts:
    - condition: (i < n)
      pos:
        line_end: 991
        line_start: 991
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (i == n)
      pos:
        line_end: 1008
        line_start: 1008
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 1025
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1025
    functionName: vslq_callback
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vslc_vtx_reset
    - assert
    - vslq_runquery
    - vslq_ratelimit
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: "int vslq_callback(struct VSLQ *vslq, struct vtx *vtx, VSLQ_dispatch_f
      *func,\n    void *priv)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1038,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1039,1
    - Dst: VSL_DATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1041,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1042,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1043,1
    - Dst: vsnprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1044,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1045,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1046,1
    - Dst: VTAILQ_FOREACH_REVERSE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1067,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1069,1
    - Dst: VTAILQ_INSERT_AFTER
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1074,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1076,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1079,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - vtx
    - tag
    - fmt
    argTypes:
    - struct vtx*
    - unsigned
    - char*
    assertStmts:
    - condition: (l >= 0)
      pos:
        line_end: 1044
        line_start: 1044
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 1082
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1082
    functionName: vtx_synth_rec
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 1
    functionsReached:
    - VSL_BYTES
    - VSL_DATA
    - VTAILQ_INSERT_AFTER
    - AN
    - VTAILQ_INSERT_HEAD
    - vsnprintf
    - CHECK_OBJ_NOTNULL
    - VTAILQ_FOREACH_REVERSE
    - assert
    - va_start
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    - va_end
    linkageType: ''
    returnType: void
    signature: void vtx_synth_rec(struct vtx *vtx, unsigned tag, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtx_synth_rec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vtx
    - msg
    argTypes:
    - struct vtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1091
    functionName: vtx_diag
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 2
    functionsReached:
    - vtx_synth_rec
    linkageType: ''
    returnType: int
    signature: int vtx_diag(struct vtx *vtx, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vtx_synth_rec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1099,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1099,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1100,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1100,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vtx
    - ptr
    - reason
    argTypes:
    - struct vtx*
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: vtx_diag_tag
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 3
    functionsReached:
    - VSL_LEN
    - vtx_synth_rec
    - VSL_CDATA
    - VSL_TAG
    - VSL_ID
    linkageType: ''
    returnType: int
    signature: int vtx_diag_tag(struct vtx *vtx, const uint32_t *ptr, const char *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1111,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1113,1
    - Dst: vslq_newquery
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1117,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1123,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1124,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1133,1
    - Dst: VRBT_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1138,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1139,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1140,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1141,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 4
    argNames:
    - vsl
    - cp
    - grouping
    - querystring
    argTypes:
    - struct VSL_data*
    - struct VSL_cursor**
    - enum VSL_grouping_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1156
    functionName: VSLQ_New
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 2
    functionsReached:
    - VTAILQ_INIT
    - AN
    - CHECK_OBJ_NOTNULL
    - VRBT_INIT
    - VTIM_mono
    - vsl_diag
    - ALLOC_OBJ
    - vslq_newquery
    linkageType: ''
    returnType: struct VSLQ
    signature: "struct VSLQ *\nVSLQ_New(struct VSL_data *vsl, struct VSL_cursor **cp,\n
      \   enum VSL_grouping_e grouping, const char *querystring)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1164,1
    - Dst: VSLQ_Flush
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1166,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1167,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1170,1
    - Dst: vslq_deletequery
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1175,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1176,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1178,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1179,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1180,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1181,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1182,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1184,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - pvslq
    argTypes:
    - struct VSLQ**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1188
    functionName: VSLQ_Delete
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 2
    functionsReached:
    - vslq_deletequery
    - VTAILQ_FIRST
    - TAKE_OBJ_NOTNULL
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - AZ
    - VTAILQ_REMOVE
    - VSL_DeleteCursor
    - VSLQ_Flush
    linkageType: ''
    returnType: void
    signature: void VSLQ_Delete(struct VSLQ **pvslq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1194,1
    - Dst: VSLQ_Flush
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1197,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1198,1
    - Dst: VSL_DeleteCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1199,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - vslq
    - cp
    argTypes:
    - struct VSLQ*
    - struct VSL_cursor**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1208
    functionName: VSLQ_SetCursor
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - VSL_DeleteCursor
    - VSLQ_Flush
    linkageType: ''
    returnType: void
    signature: void VSLQ_SetCursor(struct VSLQ *vslq, struct VSL_cursor **cp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1218,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1220,1
    - Dst: VSL_Next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1223,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1226,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1228,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1229,1
    - Dst: VSL_BATCHLEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1230,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1233,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1235,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1241,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1242,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1243,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1245,1
    - Dst: vslq_runquery
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1251,1
    - Dst: vslq_ratelimit
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - vslq
    - func
    - priv
    argTypes:
    - struct VSLQ*
    - VSLQ_dispatch_f*
    - void*
    assertStmts:
    - condition: (vslq->grouping == VSL_g_raw)
      pos:
        line_end: 1217
        line_start: 1217
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (vslq->raw.offset <= vslq->raw.len)
      pos:
        line_end: 1219
        line_start: 1219
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (vslq->raw.len > 0)
      pos:
        line_end: 1234
        line_start: 1234
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (r == vsl_more)
      pos:
        line_end: 1244
        line_start: 1244
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 1262
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1262
    functionName: vslq_raw
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - VSL_END
    - AN
    - VSL_Next
    - VSL_TAG
    - assert
    - VSL_BATCHLEN
    - vslq_runquery
    - vslq_ratelimit
    - VSL_NEXT
    - VSL_ID
    linkageType: ''
    returnType: int
    signature: int vslq_raw(struct VSLQ *vslq, VSLQ_dispatch_f *func, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1273,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1274,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1275,1
    - Dst: VSL_Check
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1276,1
    - Dst: chunk_shm_to_buf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - vslq
    argTypes:
    - struct VSLQ*
    assertStmts:
    - condition: (chunk->type == chunk_t_shm)
      pos:
        line_end: 1274
        line_start: 1274
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 1293
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1293
    functionName: vslq_shmref_check
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - chunk_shm_to_buf
    - assert
    - VSL_Check
    linkageType: ''
    returnType: enum vsl_status
    signature: enum vsl_status vslq_shmref_check(struct VSLQ *vslq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1305,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1306,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1308,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1313,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1316,1
    - Dst: VSL_CLIENT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1317,1
    - Dst: VSL_BACKEND
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1319,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1324,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1325,1
    - Dst: vtx_parse_link
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1326,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1326,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - vslq
    - ptr
    argTypes:
    - struct VSLQ*
    - uint32_t*
    assertStmts:
    - condition: (vslq->grouping != VSL_g_raw)
      pos:
        line_end: 1307
        line_start: 1307
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (tag == SLT_Begin)
      pos:
        line_end: 1324
        line_start: 1324
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 1337
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1337
    functionName: vslq_candidate
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSL_CDATA
    - VSL_TAG
    - AZ
    - assert
    - VSL_CLIENT
    - vtx_parse_link
    - VSL_BACKEND
    linkageType: ''
    returnType: unsigned
    signature: unsigned vslq_candidate(struct VSLQ *vslq, const uint32_t *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VSL_Next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1353,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1357,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1359,1
    - Dst: VSL_BATCHID
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1361,1
    - Dst: VSL_END
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1362,1
    - Dst: VSL_BATCHLEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1362,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1366,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1367,1
    - Dst: VSL_ID
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1369,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1370,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1373,1
    - Dst: vtx_lookup
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1378,1
    - Dst: vslq_candidate
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1379,1
    - Dst: vtx_add
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1381,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1382,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1385,1
    - Dst: vtx_append
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1386,1
    - Dst: vtx_scan
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1388,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - vslq
    argTypes:
    - struct VSLQ*
    assertStmts:
    - condition: (r == vsl_more)
      pos:
        line_end: 1356
        line_start: 1356
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - condition: (len > 0)
      pos:
        line_end: 1372
        line_start: 1372
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 1392
      start: 1340
    functionDepth: 5
    functionLinenumber: 1340
    functionLinenumberEnd: 1392
    functionName: vslq_next
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - VSL_END
    - vtx_lookup
    - AN
    - VSL_BATCHID
    - vtx_append
    - VSL_Next
    - VSL_TAG
    - vtx_add
    - assert
    - vtx_scan
    - VSL_BATCHLEN
    - vslq_candidate
    - VSL_NEXT
    - VSL_ID
    linkageType: ''
    returnType: enum vsl_status
    signature: enum vsl_status vslq_next(struct VSLQ *vslq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1401,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1403,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1404,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1405,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1406,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1407,1
    - Dst: vslq_callback
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1409,1
    - Dst: vtx_retire
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1410,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - vslq
    - func
    - priv
    argTypes:
    - struct VSLQ*
    - VSLQ_dispatch_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1417
    functionName: vslq_process_ready
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 0
    functionsReached:
    - vtx_retire
    - VTAILQ_FIRST
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - AZ
    - VTAILQ_REMOVE
    - vslq_callback
    linkageType: ''
    returnType: int
    signature: int vslq_process_ready(struct VSLQ *vslq, VSLQ_dispatch_f *func, void
      *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1429,1
    - Dst: vslq_raw
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1436,1
    - Dst: vslq_next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1439,1
    - Dst: vslq_shmref_check
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1445,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1450,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1453,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1454,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1455,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1456,1
    - Dst: vtx_force
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1459,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1460,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1465,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1466,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1467,1
    - Dst: vtx_force
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1468,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1469,1
    - Dst: vslq_process_ready
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1470,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1477,1
    - Dst: vslq_process_ready
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1478,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - vslq
    - func
    - priv
    argTypes:
    - struct VSLQ*
    - VSLQ_dispatch_f*
    - void*
    assertStmts:
    - condition: (r == vsl_more)
      pos:
        line_end: 1449
        line_start: 1449
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    constantsTouched: []
    func_position:
      end: 1485
      start: 1421
    functionDepth: 6
    functionLinenumber: 1421
    functionLinenumberEnd: 1485
    functionName: VSLQ_Dispatch
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 2
    functionsReached:
    - VTAILQ_FIRST
    - AN
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - vslq_shmref_check
    - vslq_next
    - vslq_raw
    - assert
    - vtx_force
    - vslq_process_ready
    - VTIM_mono
    linkageType: ''
    returnType: int
    signature: int VSLQ_Dispatch(struct VSLQ *vslq, VSLQ_dispatch_f *func, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1493,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1495,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1496,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1497,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1498,1
    - Dst: vtx_force
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1499,1
    - Dst: vslq_process_ready
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c:1502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - vslq
    - func
    - priv
    argTypes:
    - struct VSLQ*
    - VSLQ_dispatch_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1488
    functionDepth: 6
    functionLinenumber: 1488
    functionLinenumberEnd: 1503
    functionName: VSLQ_Flush
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    functionUses: 3
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - AZ
    - vtx_force
    - vslq_process_ready
    linkageType: ''
    returnType: int
    signature: int VSLQ_Flush(struct VSLQ *vslq, VSLQ_dispatch_f *func, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: VSIG_SIGNAL
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSIG_SIGNAL(UPPER, lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: VSIG_SIGNAL
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSIG_SIGNAL(UPPER, lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: VSIG_SIGNAL
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSIG_SIGNAL(UPPER, lower)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:56,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:58,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - vxp
    - t
    argTypes:
    - struct vxp*
    - struct token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: vxp_ErrToken
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - VSB_cat
    - PF
    linkageType: ''
    returnType: void
    signature: void vxp_ErrToken(const struct vxp *vxp, const struct token *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:67,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:68,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:69,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:70,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - vxp
    - vsb
    - t
    - tokoff
    argTypes:
    - struct vxp*
    - struct vsb*
    - struct token*
    - int
    assertStmts:
    - condition: (t->b >= vxp->b)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.c
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: vxp_Pos
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - assert
    - VSB_printf
    - AN
    linkageType: ''
    returnType: void
    signature: "void vxp_Pos(const struct vxp *vxp, struct vsb *vsb, const struct
      token *t,\n    int tokoff)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:83,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:84,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:85,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:87,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:88,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:90,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:92,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:101,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - vxp
    - b
    - e
    - tokoff
    argTypes:
    - struct vxp*
    - char*
    - char*
    - int
    assertStmts:
    - condition: (b <= e)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.c
    - condition: (e <= vxp->e)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.c
    - condition: (b >= vxp->b)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.c
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: vxp_quote
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - assert
    - isspace
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void vxp_quote(const struct vxp *vxp, const char *b, const char *e,
      int tokoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:110,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:111,1
    - Dst: vxp_Pos
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:112,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:113,1
    - Dst: vxp_quote
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:114,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - vxp
    - t
    - tokoff
    argTypes:
    - struct vxp*
    - struct token*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: vxp_ErrWhere
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 1
    functionsReached:
    - vxp_quote
    - AN
    - vxp_Pos
    - VSB_putc
    linkageType: ''
    returnType: void
    signature: void vxp_ErrWhere(struct vxp *vxp, const struct token *t, int tokoff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:123,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:124,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vxp
    argTypes:
    - struct vxp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: vxp_NextToken
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_NEXT
    - AN
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vxp_NextToken(struct vxp *vxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:139,1
    - Dst: vxp_ErrToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:140,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:141,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vxp
    - tok
    argTypes:
    - struct vxp*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: vxp__Expect
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - vxp_ErrWhere
    - VSB_printf
    - VSB_putc
    - vxp_ErrToken
    linkageType: ''
    returnType: void
    signature: void vxp__Expect(struct vxp *vxp, unsigned tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:150,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:151,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vxp
    - p
    argTypes:
    - struct vxp*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: vxp_DoFree
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INSERT_TAIL
    - AN
    - calloc
    linkageType: ''
    returnType: void
    signature: void vxp_DoFree(struct vxp *vxp, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:162,1
    - Dst: vxp_DoFree
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vxp
    - len
    argTypes:
    - struct vxp*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: vxp_Alloc
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 3
    functionsReached:
    - AN
    - calloc
    - vxp_DoFree
    linkageType: ''
    returnType: void
    signature: 'void *

      vxp_Alloc(struct vxp *vxp, unsigned len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:172,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:174,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:175,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:176,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - sb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: vxp_New
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vxp
    signature: 'struct vxp *

      vxp_New(struct vsb *sb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:189,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:191,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:192,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:193,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:194,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:195,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pvxp
    argTypes:
    - struct vxp**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 199
    functionName: vxp_Delete
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FIRST
    - TAKE_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - VTAILQ_REMOVE
    - free
    linkageType: ''
    returnType: void
    signature: void vxp_Delete(struct vxp **pvxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:207,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:208,1
    - Dst: vxp_New
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:209,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:211,1
    - Dst: vxp_Lexer
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:216,1
    - Dst: vxp_PrintTokens
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:219,1
    - Dst: vxp_Delete
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:223,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:224,1
    - Dst: vxp_Parse
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:228,1
    - Dst: vex_PrintTree
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:232,1
    - Dst: vxp_Delete
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:235,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - query
    - sb
    - options
    argTypes:
    - char*
    - struct vsb*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 239
    functionName: vex_New
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp.c
    functionUses: 0
    functionsReached:
    - vxp_Lexer
    - AN
    - vxp_PrintTokens
    - vxp_New
    - vxp_Parse
    - AZ
    - vex_PrintTree
    - strlen
    - vxp_Delete
    linkageType: ''
    returnType: struct vex
    signature: 'struct vex *

      vex_New(const char *query, struct vsb *sb, unsigned options)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - TYPE
    - ','
    - PRE_LHS
    - ','
    - OP
    - ','
    - PRE_RHS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 76
    functionName: VSLQ_TEST_NUMOP
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSLQ_TEST_NUMOP(TYPE, PRE_LHS, OP, PRE_RHS)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:82,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:85,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:96,1
    - Dst: VXID_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:105,1
    - Dst: VXID_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:106,1
    - Dst: VXID_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:107,1
    - Dst: VXID_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:108,1
    - Dst: VXID_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:110,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:112,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:115,1
    - Dst: return
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - vex
    - trans
    argTypes:
    - struct vex*
    - struct VSL_transaction*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 116
    functionName: vslq_test_vxid
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 0
    functionsReached:
    - AN
    - VXID_TEST_NUMOP
    - return
    - CHECK_OBJ_NOTNULL
    - NEEDLESS
    - WRONG
    linkageType: ''
    returnType: int
    signature: int vslq_test_vxid(const struct vex *vex, const struct VSL_transaction
      *trans)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: VXID_TEST_NUMOP
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VXID_TEST_NUMOP(OP)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:128,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:129,1
    - Dst: VSL_CDATA
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:131,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:132,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:136,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:142,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:151,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:152,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:157,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:163,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:179,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:183,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:194,1
    - Dst: strtoll
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:211,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:212,1
    - Dst: strtod
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:215,1
    - Dst: strtod
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:221,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:224,1
    - Dst: VSLQ_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:236,1
    - Dst: VSLQ_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:238,1
    - Dst: VSLQ_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:240,1
    - Dst: VSLQ_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:242,1
    - Dst: VSLQ_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:244,1
    - Dst: VSLQ_TEST_NUMOP
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:246,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:248,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:252,1
    - Dst: strncmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:255,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:260,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:264,1
    - Dst: strncmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:267,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:272,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:273,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:278,1
    - Dst: VRE_match
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:279,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:284,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:286,1
    - Dst: return
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:286,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 137
    argCount: 2
    argNames:
    - vex
    - rec
    argTypes:
    - struct vex*
    - struct VSLC_ptr*
    assertStmts:
    - condition: (b <= e)
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    - condition: (rhs->type == VEX_STRING)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    - condition: (e > b)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    - condition: (rhs->type == VEX_STRING)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    - condition: (rhs->type == VEX_REGEX && rhs->val_regex != NULL)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    - condition: (*e == '"')
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    - condition: (rhs->type == VEX_REGEX && rhs->val_regex != NULL)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    constantsTouched: []
    func_position:
      end: 287
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 287
    functionName: vslq_test_rec
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 0
    functionsReached:
    - strtod
    - VSLQ_TEST_NUMOP
    - isspace
    - AN
    - VSL_LEN
    - CHECK_OBJ_NOTNULL
    - return
    - VSL_CDATA
    - NEEDLESS
    - assert
    - VRE_match
    - strncmp
    - strtoll
    - WRONG
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: int vslq_test_rec(const struct vex *vex, const struct VSLC_ptr *rec)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:295,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:296,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:297,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:298,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:301,1
    - Dst: vslq_test_vxid
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:303,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:308,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:327,1
    - Dst: VSL_ResetCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:327,1
    - Dst: VSL_Next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:329,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:334,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:335,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:337,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:337,1
    - Dst: vslq_test_rec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:340,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - vex
    - ptrans
    argTypes:
    - struct vex*
    - struct VSL_transaction*[]
    assertStmts:
    - condition: (vex->lhs->vxid <= 1)
      pos:
        line_end: 297
        line_start: 297
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    - condition: (i == 1)
      pos:
        line_end: 333
        line_start: 333
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    constantsTouched: []
    func_position:
      end: 347
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 347
    functionName: vslq_test
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 0
    functionsReached:
    - AN
    - vslq_test_rec
    - CHECK_OBJ_NOTNULL
    - VSL_Next
    - vbit_test
    - VSL_TAG
    - AZ
    - assert
    - vslq_test_vxid
    - VSL_ResetCursor
    linkageType: ''
    returnType: int
    signature: int vslq_test(const struct vex *vex, struct VSL_transaction * const
      ptrans[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:354,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:358,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:359,1
    - Dst: vslq_exec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:360,1
    - Dst: vslq_exec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:363,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:365,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:366,1
    - Dst: vslq_exec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:367,1
    - Dst: vslq_exec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:370,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:372,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:373,1
    - Dst: vslq_exec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:374,1
    - Dst: vslq_test
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:379,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:381,1
    - Dst: return
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - vex
    - ptrans
    argTypes:
    - struct vex*
    - struct VSL_transaction*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 382
    functionName: vslq_exec
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 1
    functionsReached:
    - vslq_test
    - AN
    - return
    - CHECK_OBJ_NOTNULL
    - NEEDLESS
    - vslq_exec
    - AZ
    linkageType: ''
    returnType: int
    signature: int vslq_exec(const struct vex *vex, struct VSL_transaction * const
      ptrans[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:393,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:395,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:396,1
    - Dst: vex_New
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:397,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:398,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:398,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:400,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:400,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:402,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:403,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - vsl
    - grouping
    - querystring
    argTypes:
    - struct VSL_data*
    - enum VSL_grouping_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 408
    functionName: vslq_newquery
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 1
    functionsReached:
    - AN
    - VSB_data
    - VSB_finish
    - ALLOC_OBJ
    - AZ
    - vsl_diag
    - vex_New
    - XXXAN
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: struct vslq_query
    signature: "struct vslq_query *\nvslq_newquery(struct VSL_data *vsl, enum VSL_grouping_e
      grouping,\n    const char *querystring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:415,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:417,1
    - Dst: vex_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:418,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:419,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pquery
    argTypes:
    - struct vslq_query**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 422
    functionName: vslq_deletequery
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 1
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - AN
    - FREE_OBJ
    - vex_Free
    - AZ
    linkageType: ''
    returnType: void
    signature: void vslq_deletequery(struct vslq_query **pquery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:431,1
    - Dst: vslq_exec
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:433,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:435,1
    - Dst: VSL_ResetCursor
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_query.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - query
    - ptrans
    argTypes:
    - struct vslq_query*
    - struct VSL_transaction*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: vslq_runquery
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    functionUses: 2
    functionsReached:
    - VSL_ResetCursor
    - vslq_exec
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: int
    signature: "int vslq_runquery(const struct vslq_query *query,\n    struct VSL_transaction
      * const ptrans[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:60,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vxp
    argTypes:
    - struct vxp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: vex_alloc
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vex
    signature: 'struct vex *

      vex_alloc(const struct vxp *vxp)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:72,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:73,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:74,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:75,1
    - Dst: vbit_new
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:76,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:81,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:83,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:84,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:85,1
    - Dst: strtol
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:88,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:90,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:91,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:102,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:103,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:106,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:107,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:108,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:117,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:118,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:119,1
    - Dst: VSL_Glob2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:123,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:127,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:128,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:132,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:133,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:137,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:138,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:141,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:142,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:145,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:150,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:152,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:153,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:154,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:157,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:158,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:159,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:160,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:161,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:166,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:168,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:169,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:170,1
    - Dst: strtol
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:173,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:175,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:176,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:179,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:180,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:181,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:190,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:191,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 107
    argCount: 2
    argNames:
    - vxp
    - plhs
    argTypes:
    - struct vxp*
    - struct vex_lhs**
    assertStmts:
    - condition: (i > 0 || vxp->t->tok == VXID)
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    constantsTouched: []
    func_position:
      end: 193
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 193
    functionName: vxp_expr_lhs
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - strlen
    - AN
    - VSB_printf
    - strdup
    - vxp_ErrWhere
    - AZ
    - PF
    - vbit_new
    - strtol
    - VSB_cat
    - ExpectErr
    - assert
    - VSL_Glob2Tags
    - ALLOC_OBJ
    - vxp_NextToken
    linkageType: ''
    returnType: void
    signature: void vxp_expr_lhs(struct vxp *vxp, struct vex_lhs **plhs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:200,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:201,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:203,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:203,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:204,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:207,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:209,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:211,1
    - Dst: strtod
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:213,1
    - Dst: strtoll
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:216,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:218,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:221,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:223,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:227,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:228,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:229,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - vxp
    - prhs
    - vxid
    argTypes:
    - struct vxp*
    - struct vex_rhs**
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 233
    functionName: vxp_expr_num
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - strtod
    - AN
    - isspace
    - VSB_printf
    - vxp_ErrWhere
    - PF
    - AZ
    - strtoll
    - strchr
    - ALLOC_OBJ
    - vxp_NextToken
    linkageType: ''
    returnType: void
    signature: void vxp_expr_num(struct vxp *vxp, struct vex_rhs **prhs, unsigned
      vxid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:239,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:240,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:242,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:242,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:246,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:248,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:250,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:251,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:252,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - vxp
    - prhs
    argTypes:
    - struct vxp*
    - struct vex_rhs**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: vxp_expr_str
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - strlen
    - AN
    - VSB_printf
    - strdup
    - vxp_ErrWhere
    - PF
    - AZ
    - ALLOC_OBJ
    - vxp_NextToken
    linkageType: ''
    returnType: void
    signature: void vxp_expr_str(struct vxp *vxp, struct vex_rhs **prhs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:263,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:264,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:266,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:267,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:268,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:271,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:272,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:273,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:275,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:276,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:279,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:280,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:280,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:281,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:282,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - vxp
    - prhs
    argTypes:
    - struct vxp*
    - struct vex_rhs**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 286
    functionName: vxp_expr_regex
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - VSB_printf
    - strdup
    - vxp_ErrWhere
    - PF
    - AZ
    - VSB_cat
    - VRE_error
    - ALLOC_OBJ
    - vxp_NextToken
    - VRE_compile
    linkageType: ''
    returnType: void
    signature: void vxp_expr_regex(struct vxp *vxp, struct vex_rhs **prhs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:304,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:305,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - vxp
    argTypes:
    - struct vxp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: vxp_vxid_cmp
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    - vxp_ErrWhere
    - PF
    linkageType: ''
    returnType: void
    signature: void vxp_vxid_cmp(struct vxp *vxp)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:321,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:322,1
    - Dst: vex_alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:323,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:324,1
    - Dst: vxp_expr_lhs
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:325,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:326,1
    - Dst: vxp_vxid_cmp
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:329,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:330,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:360,1
    - Dst: PF
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:361,1
    - Dst: vxp_ErrWhere
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:362,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:365,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:366,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:371,1
    - Dst: vxp_expr_num
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:379,1
    - Dst: vxp_expr_str
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:383,1
    - Dst: vxp_expr_regex
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:387,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 2
    argNames:
    - vxp
    - pvex
    argTypes:
    - struct vxp*
    - struct vex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 392
    functionName: vxp_expr_cmp
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - vex_alloc
    - AN
    - VSB_printf
    - vxp_expr_num
    - vxp_expr_regex
    - vxp_ErrWhere
    - AZ
    - PF
    - ERRCHK
    - vxp_vxid_cmp
    - WRONG
    - vxp_expr_lhs
    - vxp_expr_str
    - INCOMPL
    - vxp_NextToken
    linkageType: ''
    returnType: void
    signature: void vxp_expr_cmp(struct vxp *vxp, struct vex **pvex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:405,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:406,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:409,1
    - Dst: vxp_expr_or
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:410,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:411,1
    - Dst: SkipToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:412,1
    - Dst: vxp_expr_cmp
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - vxp
    - pvex
    argTypes:
    - struct vxp*
    - struct vex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 417
    functionName: vxp_expr_group
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - AN
    - vxp_expr_or
    - SkipToken
    - vxp_expr_cmp
    - AZ
    - ERRCHK
    linkageType: ''
    returnType: void
    signature: void vxp_expr_group(struct vxp *vxp, struct vex **pvex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:430,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:431,1
    - Dst: vex_alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:434,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:435,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:437,1
    - Dst: vxp_expr_group
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:438,1
    - Dst: vxp_expr_group
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - vxp
    - pvex
    argTypes:
    - struct vxp*
    - struct vex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 426
    functionDepth: 6
    functionLinenumber: 426
    functionLinenumberEnd: 443
    functionName: vxp_expr_not
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - vex_alloc
    - AN
    - AZ
    - vxp_expr_group
    - vxp_NextToken
    linkageType: ''
    returnType: void
    signature: void vxp_expr_not(struct vxp *vxp, struct vex **pvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:456,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:457,1
    - Dst: vxp_expr_not
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:458,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:459,1
    - Dst: vex_alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:462,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:463,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:466,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:467,1
    - Dst: vxp_expr_not
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:468,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - vxp
    - pvex
    argTypes:
    - struct vxp*
    - struct vex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 451
    functionDepth: 7
    functionLinenumber: 451
    functionLinenumberEnd: 471
    functionName: vxp_expr_and
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - vex_alloc
    - AN
    - vxp_expr_not
    - AZ
    - ERRCHK
    - vxp_NextToken
    linkageType: ''
    returnType: void
    signature: void vxp_expr_and(struct vxp *vxp, struct vex **pvex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:484,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:485,1
    - Dst: vxp_expr_and
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:486,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:487,1
    - Dst: vex_alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:490,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:491,1
    - Dst: vxp_NextToken
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:494,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:495,1
    - Dst: vxp_expr_and
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:496,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - vxp
    - pvex
    argTypes:
    - struct vxp*
    - struct vex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 479
    functionDepth: 8
    functionLinenumber: 479
    functionLinenumberEnd: 499
    functionName: vxp_expr_or
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 1
    functionsReached:
    - vex_alloc
    - AN
    - AZ
    - vxp_expr_and
    - ERRCHK
    - vxp_NextToken
    linkageType: ''
    returnType: void
    signature: void vxp_expr_or(struct vxp *vxp, struct vex **pvex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vxp_expr_or
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:513,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:514,1
    - Dst: ExpectErr
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:515,1
    - Dst: vxp_expr
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:519,1
    - Dst: ERRCHK
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:520,1
    - Dst: vex_alloc
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:522,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - vxp
    - pvex
    argTypes:
    - struct vxp*
    - struct vex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 507
    functionDepth: 9
    functionLinenumber: 507
    functionLinenumberEnd: 528
    functionName: vxp_expr
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 1
    functionsReached:
    - vex_alloc
    - AN
    - vxp_expr_or
    - vxp_expr
    - ExpectErr
    - ERRCHK
    linkageType: ''
    returnType: void
    signature: void vxp_expr(struct vxp *vxp, struct vex **pvex)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:539,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:540,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:545,1
    - Dst: vxp_expr
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:550,1
    - Dst: vex_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:554,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:555,1
    - Dst: VTAILQ_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - vxp
    argTypes:
    - struct vxp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 534
    functionDepth: 10
    functionLinenumber: 534
    functionLinenumberEnd: 563
    functionName: vxp_Parse
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FIRST
    - vxp_expr
    - vex_Free
    - AZ
    - VTAILQ_NEXT
    linkageType: ''
    returnType: struct vex
    signature: 'struct vex *

      vxp_Parse(struct vxp *vxp)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:576,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:579,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:581,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:583,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:584,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:587,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:589,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:591,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:592,1
    - Dst: vex_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:595,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:596,1
    - Dst: vex_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:599,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:600,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - pvex
    argTypes:
    - struct vex**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 603
    functionName: vex_Free
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 3
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - vex_Free
    - VRE_free
    - vbit_destroy
    - CAST_OBJ_NOTNULL
    - AZ
    - free
    linkageType: ''
    returnType: void
    signature: void vex_Free(struct vex **pvex)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:611,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:612,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:615,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:618,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:621,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:622,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:625,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:626,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:627,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - struct vex_rhs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 633
    functionName: vex_print_rhs
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - fprintf
    - AN
    - WRONG
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vex_print_rhs(const struct vex_rhs *rhs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vbit_test
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:644,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:649,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:650,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - vbm
    argTypes:
    - struct vbitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 652
    functionName: vex_print_tags
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vbit_test
    linkageType: ''
    returnType: void
    signature: void vex_print_tags(const struct vbitmap *vbm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:657,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:659,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:661,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:662,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:663,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:665,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:668,1
    - Dst: vex_print_tags
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:669,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:670,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:672,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:672,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:673,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:676,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:679,1
    - Dst: vex_print_rhs
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:680,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:682,1
    - Dst: vex_print
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:684,1
    - Dst: vex_print
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - vex
    - indent
    argTypes:
    - struct vex*
    - int
    assertStmts:
    - condition: (vex->lhs->prefixlen == strlen(vex->lhs->prefix))
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    constantsTouched: []
    func_position:
      end: 687
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 687
    functionName: vex_print
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 1
    functionsReached:
    - fprintf
    - strlen
    - AN
    - vex_print_rhs
    - CHECK_OBJ_NOTNULL
    - vex_print
    - assert
    - vex_print_tags
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vex_print(const struct vex *vex, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:693,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:694,1
    - Dst: vex_print
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vex
    argTypes:
    - struct vex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 689
    functionDepth: 4
    functionLinenumber: 689
    functionLinenumberEnd: 696
    functionName: vex_PrintTree
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
    functionUses: 1
    functionsReached:
    - fprintf
    - vex_print
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vex_PrintTree(const struct vex *vex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:68,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:72,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - name
    - l
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: VSL_Name2Tag
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 3
    functionsReached:
    - strncasecmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int VSL_Name2Tag(const char *name, int l)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:94,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:98,1
    - Dst: VSL_Name2Tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:107,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:133,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:136,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:138,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 4
    argNames:
    - glob
    - l
    - func
    - priv
    argTypes:
    - char*
    - int
    - VSL_tagfind_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 147
    functionName: VSL_Glob2Tags
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 1
    functionsReached:
    - VSL_Name2Tag
    - AN
    - strncasecmp
    - strchr
    linkageType: ''
    returnType: int
    signature: int VSL_Glob2Tags(const char *glob, int l, VSL_tagfind_f *func, void
      *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:159,1
    - Dst: VSL_Glob2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - list
    - l
    - func
    - priv
    argTypes:
    - char*
    - int
    - VSL_tagfind_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 176
    functionName: VSL_List2Tags
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 0
    functionsReached:
    - strchr
    - VSL_Glob2Tags
    linkageType: ''
    returnType: int
    signature: int VSL_List2Tags(const char *list, int l, VSL_tagfind_f *func, void
      *priv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:190,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:192,1
    - Dst: strncasecmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:195,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - name
    - l
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 207
    functionName: VSLQ_Name2Grouping
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 2
    functionsReached:
    - strncasecmp
    - AN
    - strlen
    linkageType: ''
    returnType: int
    signature: int VSLQ_Name2Grouping(const char *name, int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbit_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit
    - priv
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: vsl_vbm_bitset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 0
    functionsReached:
    - vbit_set
    linkageType: ''
    returnType: void
    signature: void vsl_vbm_bitset(int bit, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbit_clr
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit
    - priv
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: vsl_vbm_bitclr
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 0
    functionsReached:
    - vbit_clr
    linkageType: ''
    returnType: void
    signature: void vsl_vbm_bitclr(int bit, void *priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:228,1
    - Dst: VSL_List2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:231,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:234,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:237,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - vsl
    - opt
    - arg
    argTypes:
    - struct VSL_data*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: vsl_ix_arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 0
    functionsReached:
    - vsl_diag
    - VSL_List2Tags
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int vsl_ix_arg(struct VSL_data *vsl, int opt, const char *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:258,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:259,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:263,1
    - Dst: vbit_new
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:265,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:266,1
    - Dst: VSL_List2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:268,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:270,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:272,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:276,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:280,1
    - Dst: VRE_compile
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:286,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:289,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:290,1
    - Dst: VSB_init
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:290,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:291,1
    - Dst: VRE_error
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:291,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:292,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:292,1
    - Dst: VSB_fini
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:293,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:294,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:298,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:299,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:304,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:306,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - vsl
    - opt
    - arg
    argTypes:
    - struct VSL_data*
    - int
    - char*
    assertStmts:
    - condition: (opt == 'X')
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    constantsTouched: []
    func_position:
      end: 311
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 311
    functionName: vsl_IX_arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 0
    functionsReached:
    - VSL_List2Tags
    - AN
    - VSB_fini
    - CHECK_OBJ_NOTNULL
    - VSB_init
    - VSB_finish
    - VTAILQ_INSERT_TAIL
    - vbit_destroy
    - AZ
    - assert
    - vbit_new
    - strchr
    - vsl_diag
    - VRE_error
    - ALLOC_OBJ
    - VRE_compile
    linkageType: ''
    returnType: int
    signature: int vsl_IX_arg(struct VSL_data *vsl, int opt, const char *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:320,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:321,1
    - Dst: strtol
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:324,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:326,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:328,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:330,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:331,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:337,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:339,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:340,1
    - Dst: isdigit
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:341,1
    - Dst: strcat
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:342,1
    - Dst: strcat
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:343,1
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:344,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:345,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - vsl
    - arg
    argTypes:
    - struct VSL_data*
    - char*
    assertStmts:
    - condition: (p != arg)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    constantsTouched: []
    func_position:
      end: 348
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 348
    functionName: vsl_R_arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VNUM_duration
    - assert
    - strtol
    - isnan
    - isdigit
    - vsl_diag
    - strlen
    - strcat
    linkageType: ''
    returnType: int
    signature: int vsl_R_arg(struct VSL_data *vsl, const char *arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:358,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:362,1
    - Dst: vsl_ix_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:375,1
    - Dst: vsl_IX_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:376,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:378,1
    - Dst: strtol
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:379,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:380,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:383,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:385,1
    - Dst: vsl_R_arg
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:389,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:391,1
    - Dst: VNUM
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:392,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:393,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:394,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c:396,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 3
    argNames:
    - vsl
    - opt
    - arg
    argTypes:
    - struct VSL_data*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 403
    functionName: VSL_Arg
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
    functionUses: 2
    functionsReached:
    - vbit_set
    - AN
    - isspace
    - vsl_ix_arg
    - vsl_IX_arg
    - CHECK_OBJ_NOTNULL
    - vsl_R_arg
    - VNUM
    - isnan
    - strtol
    - vsl_diag
    linkageType: ''
    returnType: int
    signature: int VSL_Arg(struct VSL_data *vsl, int opt, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:52,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:54,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tag
    - priv
    argTypes:
    - int
    - void*
    assertStmts:
    - condition: (!fnmatch(priv, VSL_tags[tag], FNM_CASEFOLD))
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: cb
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    functionUses: 5
    functionsReached:
    - assert
    - printf
    - fnmatch
    linkageType: ''
    returnType: void
    signature: void cb(int tag, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:62,1
    - Dst: VSL_Glob2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:63,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:63,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tst_one_glob
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    functionUses: 0
    functionsReached:
    - printf
    - TRUST_ME
    - VSL_Glob2Tags
    linkageType: ''
    returnType: int
    signature: int tst_one_glob(const char *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:75,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:76,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:77,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:78,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:78,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:79,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:79,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:80,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:80,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:81,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:81,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:82,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:82,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:83,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:83,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:84,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:84,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:85,1
    - Dst: tst_one_glob
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:86,1
    - Dst: VSL_Glob2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:86,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:88,1
    - Dst: VSL_List2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:89,1
    - Dst: VSL_List2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:89,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:90,1
    - Dst: VSL_List2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:90,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:94,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:95,1
    - Dst: VSL_Name2Tag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:98,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:99,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:101,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:102,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:104,1
    - Dst: VSL_Glob2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:105,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:106,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:108,1
    - Dst: VSL_List2Tags
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:109,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (i == j)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("*") > 0)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (VSL_List2Tags("Req*,Resp*",-1,cb,NULL) > 0)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (VSL_List2Tags("xyzzy,,xyzzy",-1,cb,NULL) == -1)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("*Header") > 0)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("") == -1)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("a*b*c") == -3)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (i == 11)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("Req*eader") == 1)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("**") == -3)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (VSL_Glob2Tags("", 0, cb, NULL) == -1)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (VSL_List2Tags(",,,",-1,cb,NULL) == -1)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("xyz*y") == -1)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    - condition: (tst_one_glob("_") == -1)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    constantsTouched: []
    func_position:
      end: 113
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
    functionUses: 1
    functionsReached:
    - VSL_List2Tags
    - fprintf
    - VSL_Name2Tag
    - exit
    - tst_one_glob
    - assert
    - VSL_Glob2Tags
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:52,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: usage
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_test.c
    functionUses: 7
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:64,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:67,1
    - Dst: usage
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:70,1
    - Dst: usage
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:74,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:76,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:77,1
    - Dst: vex_New
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:78,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:81,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:81,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:82,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:82,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:83,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:84,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:85,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:87,1
    - Dst: vex_Free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:89,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:90,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vxp_test.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vxp_test.c
    functionUses: 1
    functionsReached:
    - fprintf
    - free
    - AN
    - VSB_data
    - VSB_finish
    - vex_Free
    - REPLACE
    - exit
    - usage
    - AZ
    - getopt
    - vex_New
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char * const *argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:82,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:83,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:84,1
    - Dst: VSM_Unmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:84,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:85,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: vslc_vsm_delete
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - AN
    - FREE_OBJ
    - VSM_Unmap
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_vsm_delete(const struct VSL_cursor *cursor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:105,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cursor
    - ptr
    argTypes:
    - struct VSL_cursor*
    - struct VSLC_ptr*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: vslc_vsm_check
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_vsm_check(const struct VSL_cursor *cursor, const struct VSLC_ptr
      *ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:130,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:131,1
    - Dst: vslc_vsm_check
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:134,1
    - Dst: VSM_StillValid
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:136,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:143,1
    - Dst: VSM_StillValid
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:146,1
    - Dst: VRMB
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:156,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:160,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:168,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:170,1
    - Dst: VSL_WORDS
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:177,1
    - Dst: VSL_BATCHLEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:177,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:184,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:185,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (c->next.ptr != c->head->log)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (c->next.ptr < c->end)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (c->next.ptr >= c->head->log)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 189
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 189
    functionName: vslc_vsm_next
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - VSL_WORDS
    - AN
    - VSL_TAG
    - CAST_OBJ_NOTNULL
    - assert
    - VSL_BATCHLEN
    - VRMB
    - vslc_vsm_check
    - VSM_StillValid
    - VSL_NEXT
    linkageType: ''
    returnType: void
    signature: void vslc_vsm_next(const struct VSL_cursor *cursor)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:198,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:199,1
    - Dst: VRMB
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:204,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:210,1
    - Dst: vslc_vsm_next
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:219,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:233,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:236,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:240,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (c->head->offset[c->next.priv % VSL_SEGMENTS] >= 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (c->next.priv % VSL_SEGMENTS != 0)
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (c->head->offset[c->next.priv % VSL_SEGMENTS] >= 0)
      pos:
        line_end: 235
        line_start: 235
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (c->next.ptr >= c->head->log)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (c->next.ptr < c->end)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 243
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 243
    functionName: vslc_vsm_reset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - assert
    - VRMB
    - vslc_vsm_next
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_vsm_reset(const struct VSL_cursor *cursor)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:261,1
    - Dst: VSM_Get
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:263,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:264,1
    - Dst: VSM_Map
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:268,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:269,1
    - Dst: VSM_Error
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:270,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:273,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:276,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:277,1
    - Dst: VSM_Unmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:277,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:278,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:281,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:283,1
    - Dst: VSM_Unmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:283,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:284,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:295,1
    - Dst: vslc_vsm_reset
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:297,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:299,1
    - Dst: VSM_Unmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:299,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:300,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 3
    argNames:
    - vsl
    - vsm
    - options
    argTypes:
    - struct VSL_data*
    - struct vsm*
    - unsigned
    assertStmts:
    - condition: (c->end <= (const uint32_t *)vf.e)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 306
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 306
    functionName: VSL_CursorVSM
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 4
    functionsReached:
    - VSM_Get
    - AN
    - vslc_vsm_reset
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - VSM_Error
    - VSM_Unmap
    - AZ
    - VSM_Map
    - assert
    - vsl_diag
    - memcmp
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct VSL_cursor
    signature: 'struct VSL_cursor *

      VSL_CursorVSM(struct VSL_data *vsl, struct vsm *vsm, unsigned options)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:326,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:327,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:328,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:330,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:332,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 334
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 334
    functionName: vslc_file_delete
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - close
    - AN
    - FREE_OBJ
    - CAST_OBJ_NOTNULL
    - assert
    - free
    linkageType: ''
    returnType: void
    signature: void vslc_file_delete(const struct VSL_cursor *cursor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:343,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - n
    argTypes:
    - int
    - void*
    - ssize_t
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: vslc_file_readn
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - assert
    - read
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vslc_file_readn(int fd, void *buf, ssize_t n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:361,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:362,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:366,1
    - Dst: vslc_file_readn
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:367,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:367,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:372,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:372,1
    - Dst: VSL_WORDS
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:373,1
    - Dst: VSL_LEN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:373,1
    - Dst: realloc
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:377,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:377,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:378,1
    - Dst: vslc_file_readn
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:381,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:382,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:387,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:387,1
    - Dst: VSL_TAG
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (c->buflen >= 2)
      pos:
        line_end: 365
        line_start: 365
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 361
        line_start: 361
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (i == VSL_BYTES(VSL_OVERHEAD))
      pos:
        line_end: 371
        line_start: 371
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (i == VSL_BYTES(l - VSL_OVERHEAD))
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 392
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 392
    functionName: vslc_file_next
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - VSL_BYTES
    - VSL_WORDS
    - VSL_LEN
    - AN
    - vslc_file_readn
    - VSL_TAG
    - CAST_OBJ_NOTNULL
    - assert
    - realloc
    linkageType: ''
    returnType: void
    signature: void vslc_file_next(const struct VSL_cursor *cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: vslc_file_reset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vslc_file_reset(const struct VSL_cursor *cursor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:426,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:427,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:428,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:429,1
    - Dst: munmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:429,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:431,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: vslc_mmap_delete
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - AN
    - close
    - FREE_OBJ
    - munmap
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_mmap_delete(const struct VSL_cursor *cursor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:441,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:442,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:444,1
    - Dst: VSL_NEXT
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:447,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 452
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 452
    functionName: vslc_mmap_next
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - assert
    - VSL_NEXT
    - TRUST_ME
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_mmap_next(const struct VSL_cursor *cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:459,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts:
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: vslc_mmap_reset
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_mmap_reset(const struct VSL_cursor *cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:470,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:471,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:472,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:473,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:474,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - cursor
    - ptr
    argTypes:
    - struct VSL_cursor*
    - struct VSLC_ptr*
    assertStmts:
    - condition: (t > c->b)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (&c->cursor == cursor)
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - condition: (t <= c->e)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 477
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 477
    functionName: vslc_mmap_check
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - assert
    - TRUST_ME
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vslc_mmap_check(const struct VSL_cursor *cursor, const struct
      VSLC_ptr *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:494,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:494,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:498,1
    - Dst: mmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:499,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:501,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:501,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:505,1
    - Dst: munmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:507,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:509,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:510,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - vsl
    - fd
    - close_fd
    argTypes:
    - struct VSL_data*
    - int
    - int
    assertStmts:
    - condition: (st->st_size >= (off_t)(sizeof VSL_FILE_ID))
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 523
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 523
    functionName: vsl_cursor_mmap
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 0
    functionsReached:
    - close
    - munmap
    - AZ
    - assert
    - strerror
    - TRUST_ME
    - mmap
    - vsl_diag
    - ALLOC_OBJ
    - fstat
    linkageType: ''
    returnType: struct VSL_cursor
    signature: 'struct VSL_cursor *

      vsl_cursor_mmap(struct VSL_data *vsl, int fd, int close_fd)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:535,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:536,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:539,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:542,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:544,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:545,1
    - Dst: vslc_file_readn
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:551,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:554,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:555,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:556,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:559,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:560,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:562,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:563,1
    - Dst: vsl_cursor_mmap
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:567,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:573,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:576,1
    - Dst: vsl_diag
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:577,1
    - Dst: VSL_WORDS
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:585,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:586,1
    - Dst: VSL_BYTES
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:586,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - vsl
    - name
    - options
    argTypes:
    - struct VSL_data*
    - char*
    - unsigned
    assertStmts:
    - condition: (i == sizeof buf)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    constantsTouched: []
    func_position:
      end: 590
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 590
    functionName: VSL_CursorFile
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 1
    functionsReached:
    - VSL_BYTES
    - VSL_WORDS
    - AN
    - close
    - CHECK_OBJ_NOTNULL
    - malloc
    - vslc_file_readn
    - strcmp
    - strerror
    - assert
    - open
    - vsl_diag
    - memcmp
    - vsl_cursor_mmap
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct VSL_cursor
    signature: 'struct VSL_cursor *

      VSL_CursorFile(struct VSL_data *vsl, const char *name, unsigned options)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: VSL_DeleteCursor
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 5
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VSL_DeleteCursor(const struct VSL_cursor *cursor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 612
    functionName: VSL_ResetCursor
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 2
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: enum vsl_status
    signature: enum vsl_status VSL_ResetCursor(const struct VSL_cursor *cursor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:619,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cursor
    argTypes:
    - struct VSL_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: VSL_Next
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 12
    functionsReached:
    - AN
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: enum vsl_status
    signature: enum vsl_status VSL_Next(const struct VSL_cursor *cursor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cursor
    - ptr
    argTypes:
    - struct VSL_cursor*
    - struct VSLC_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 633
    functionName: VSL_Check
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    functionUses: 2
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: enum vsl_check
    signature: enum vsl_check VSL_Check(const struct VSL_cursor *cursor, const struct
      VSLC_ptr *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:57,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:58,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:59,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:60,1
    - Dst: dup2
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:60,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts:
    - condition: (target >= 0)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/lib/libvinylapi/daemon.c
    - condition: (dup2(fd, target) == target)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/vinyl-cache/lib/libvinylapi/daemon.c
    - condition: (fd >= 0)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vinyl-cache/lib/libvinylapi/daemon.c
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: vfil_null_fd
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/daemon.c
    functionUses: 0
    functionsReached:
    - assert
    - dup2
    - closefd
    - open
    linkageType: ''
    returnType: void
    signature: void vfil_null_fd(int target)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:73,1
    - Dst: sigemptyset
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:73,1
    - Dst: sigaction
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:76,1
    - Dst: fork
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:78,1
    - Dst: _exit
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:88,1
    - Dst: setsid
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:91,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:94,1
    - Dst: sigaction
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:94,1
    - Dst: chdir
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:102,1
    - Dst: vfil_null_fd
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:105,1
    - Dst: vfil_null_fd
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:106,1
    - Dst: vfil_null_fd
      Src: /src/vinyl-cache/lib/libvinylapi/daemon.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - nochdir
    - noclose
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 110
    functionName: vinyl_daemon
    functionSourceFile: /src/vinyl-cache/lib/libvinylapi/daemon.c
    functionUses: 1
    functionsReached:
    - chdir
    - vfil_null_fd
    - _exit
    - AZ
    - sigemptyset
    - sigaction
    - setsid
    - fork
    linkageType: ''
    returnType: int
    signature: int vinyl_daemon(int nochdir, int noclose)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: RANK
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANK(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: UPDATE_HASH
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_HASH(s,h,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: INSERT_STRING
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: INSERT_STRING
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: CLEAR_HASH
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_HASH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: slide_hash
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local slide_hash(deflate_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:229,1
    - Dst: adler32
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:231,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - strm
    - buf
    - size
    argTypes:
    - z_streamp
    - Bytef*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 242
    functionName: read_buf
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - crc32
    - adler32
    - zmemcpy
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned read_buf(z_streamp strm, Bytef *buf, unsigned size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:259,1
    - Dst: MAX_DIST
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:280,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:282,1
    - Dst: slide_hash
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:288,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:304,1
    - Dst: read_buf
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:306,1
    - Dst: UPDATE_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:313,1
    - Dst: UPDATE_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:318,1
    - Dst: zmemzero
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:353,1
    - Dst: zmemzero
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:364,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:369,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 371
    functionName: fill_window
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - Assert
    - zmemzero
    - UPDATE_HASH
    - read_buf
    - zmemcpy
    - slide_hash
    - MAX_DIST
    linkageType: ''
    returnType: local
    signature: local fill_window(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2_
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - strm
    - level
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: deflateInit_
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateInit2_
    linkageType: ''
    returnType: int
    signature: "int deflateInit_(z_streamp strm, int level, const char *version,\n
      \                        int stream_size)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:439,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:456,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:457,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:458,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:503,1
    - Dst: ERR_MSG
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:509,1
    - Dst: deflateEnd
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:510,1
    - Dst: deflateReset
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:530,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 8
    argNames:
    - strm
    - level
    - method
    - windowBits
    - memLevel
    - strategy
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - int
    - int
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 531
    functionName: deflateInit2_
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 1
    functionsReached:
    - deflateReset
    - deflateEnd
    - ZALLOC
    - ERR_MSG
    linkageType: ''
    returnType: int
    signature: "int deflateInit2_(z_streamp strm, int level, int method,\n                          int
      windowBits, int memLevel, int strategy,\n                          const char
      *version, int stream_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 556
    functionName: deflateStateCheck
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local deflateStateCheck(z_streamp strm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:569,1
    - Dst: adler32
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:578,1
    - Dst: CLEAR_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:584,1
    - Dst: fill_window
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:598,1
    - Dst: UPDATE_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:603,1
    - Dst: fill_window
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:612,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 624
    functionName: deflateSetDictionary
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - UPDATE_HASH
    - CLEAR_HASH
    - fill_window
    - deflateStateCheck
    - adler32
    linkageType: ''
    returnType: int
    signature: "int deflateSetDictionary(z_streamp strm, const Bytef *dictionary,\n
      \                                uInt  dictLength)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:632,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: deflateGetDictionary
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: "int deflateGetDictionary(z_streamp strm, Bytef *dictionary,\n                                 uInt
      *dictLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 706
    functionName: lm_init
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - CLEAR_HASH
    linkageType: ''
    returnType: local
    signature: local lm_init(deflate_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateResetKeep
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:712,1
    - Dst: lm_init
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: deflateReset
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 1
    functionsReached:
    - lm_init
    - deflateResetKeep
    linkageType: ''
    returnType: int
    signature: int deflateReset(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - strm
    - head
    argTypes:
    - z_streamp
    - gz_headerp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: deflateSetHeader
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflateSetHeader(z_streamp strm, gz_headerp head)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - strm
    - pending
    - bits
    argTypes:
    - z_streamp
    - unsigned*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: deflatePending
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflatePending(z_streamp strm, unsigned *pending, int *bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - strm
    - bits
    argTypes:
    - z_streamp
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: deflateUsed
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflateUsed(z_streamp strm, int *bits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:751,1
    - Dst: _tr_flush_bits
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:768,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - strm
    - bits
    - value
    argTypes:
    - z_streamp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 773
    functionName: deflatePrime
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - _tr_flush_bits
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: int deflatePrime(z_streamp strm, int bits, int value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:780,1
    - Dst: deflate
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:796,1
    - Dst: slide_hash
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:805,1
    - Dst: CLEAR_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:807,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 3
    argNames:
    - strm
    - level
    - strategy
    argTypes:
    - z_streamp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 818
    functionName: deflateParams
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - slide_hash
    - deflateStateCheck
    - deflate
    - CLEAR_HASH
    linkageType: ''
    returnType: int
    signature: int deflateParams(z_streamp strm, int level, int strategy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - strm
    - good_length
    - max_lazy
    - nice_length
    - max_chain
    argTypes:
    - z_streamp
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 832
    functionName: deflateTune
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: "int deflateTune(z_streamp strm, int good_length, int max_lazy,\n                        int
      nice_length, int max_chain)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:874,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - strm
    - sourceLen
    argTypes:
    - z_streamp
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 921
    functionName: deflateBound
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: uLong
    signature: uLong deflateBound(z_streamp strm, uLong sourceLen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:931,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - b
    argTypes:
    - deflate_state*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 933
    functionName: putShortMSB
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - put_byte
    linkageType: ''
    returnType: local
    signature: local putShortMSB(deflate_state *s, uInt b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tr_flush_bits
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:945,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 959
    functionName: flush_pending
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - _tr_flush_bits
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: local flush_pending(z_streamp strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - beg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 970
    functionName: HCRC_UPDATE
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HCRC_UPDATE(beg)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:976,1
    - Dst: ERR_RETURN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:984,1
    - Dst: ERR_RETURN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:986,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:993,1
    - Dst: RANK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1009,1
    - Dst: RANK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1009,1
    - Dst: ERR_RETURN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1011,1
    - Dst: ERR_RETURN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1016,1
    - Dst: putShortMSB
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1040,1
    - Dst: putShortMSB
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1044,1
    - Dst: putShortMSB
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1045,1
    - Dst: adler32
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1047,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1051,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1061,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1062,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1063,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1064,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1066,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1067,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1068,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1069,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1070,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1071,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1074,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1078,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1086,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1092,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1093,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1094,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1095,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1096,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1099,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1101,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1102,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1105,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1117,1
    - Dst: HCRC_UPDATE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1120,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1122,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1130,1
    - Dst: HCRC_UPDATE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1133,1
    - Dst: HCRC_UPDATE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1144,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1145,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1153,1
    - Dst: HCRC_UPDATE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1155,1
    - Dst: HCRC_UPDATE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1166,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1167,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1175,1
    - Dst: HCRC_UPDATE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1177,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1184,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1190,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1191,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1192,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1197,1
    - Dst: abort
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1204,1
    - Dst: deflate_stored
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1219,1
    - Dst: deflate_huff
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1221,1
    - Dst: deflate_rle
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1222,1
    - Dst: _tr_align
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1244,1
    - Dst: _tr_stored_block
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1246,1
    - Dst: CLEAR_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1251,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1259,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1273,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1274,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1275,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1276,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1277,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1278,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1279,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1280,1
    - Dst: putShortMSB
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1285,1
    - Dst: putShortMSB
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1286,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1288,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 227
    argCount: 2
    argNames:
    - strm
    - flush
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 1294
    functionName: deflate
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 4
    functionsReached:
    - putShortMSB
    - _tr_stored_block
    - CLEAR_HASH
    - flush_pending
    - deflate_rle
    - deflate_stored
    - crc32
    - RANK
    - put_byte
    - zmemcpy
    - HCRC_UPDATE
    - deflateStateCheck
    - abort
    - _tr_align
    - ERR_RETURN
    - adler32
    - deflate_huff
    linkageType: ''
    returnType: int
    signature: int deflate(z_streamp strm, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1300,1
    - Dst: TRY_FREE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1305,1
    - Dst: TRY_FREE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1306,1
    - Dst: TRY_FREE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1307,1
    - Dst: TRY_FREE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1308,1
    - Dst: ZFREE
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1314
    functionName: deflateEnd
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 4
    functionsReached:
    - ZFREE
    - deflateStateCheck
    - TRY_FREE
    linkageType: ''
    returnType: int
    signature: int deflateEnd(z_streamp strm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1333,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1339,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1341,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1344,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1347,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1348,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1349,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1350,1
    - Dst: deflateEnd
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1354,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1358,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1359,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1360,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - z_streamp
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1377
    functionName: deflateCopy
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - deflateStateCheck
    - ZALLOC
    - deflateEnd
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: int deflateCopy(z_streamp dest, z_streamp source)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MAX_DIST
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1398,1
    - Dst: MAX_DIST
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1399,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1422,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1433,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1437,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1464,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1475,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1496,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1508,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 44
    argCount: 2
    argNames:
    - s
    - cur_match
    argTypes:
    - deflate_state*
    - IPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1532
    functionName: longest_match
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - Assert
    - MAX_DIST
    linkageType: ''
    returnType: local
    signature: local longest_match(deflate_state *s, IPos cur_match)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1548,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1550,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1553,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1568,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1580,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - s
    - cur_match
    argTypes:
    - deflate_state*
    - IPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1539
    functionDepth: 1
    functionLinenumber: 1539
    functionLinenumberEnd: 1588
    functionName: longest_match
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - Assert
    linkageType: ''
    returnType: local
    signature: local longest_match(deflate_state *s, IPos cur_match)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zmemcmp
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1611,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1612,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1615,1
    - Dst: z_error
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1617,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1620,1
    - Dst: putc
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - s
    - start
    - match
    - length
    argTypes:
    - deflate_state*
    - IPos
    - IPos
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1623
    functionName: check_match
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - zmemcmp
    - fprintf
    - putc
    - z_error
    linkageType: ''
    returnType: local
    signature: local check_match(deflate_state *s, IPos start, IPos match, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1642
    functionName: FLUSH_BLOCK_ONLY
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK_ONLY(s, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1644
    functionDepth: 0
    functionLinenumber: 1644
    functionLinenumberEnd: 1648
    functionName: FLUSH_BLOCK
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK(s, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: MIN
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1675,1
    - Dst: _tr_stored_block
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1715,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1724,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1736,1
    - Dst: read_buf
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1748,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1771,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1779,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1785,1
    - Dst: MIN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1787,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1811,1
    - Dst: read_buf
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1821,1
    - Dst: MIN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1823,1
    - Dst: MIN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1835,1
    - Dst: MIN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1836,1
    - Dst: MIN
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1841,1
    - Dst: _tr_stored_block
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1844,1
    - Dst: flush_pending
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1846,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 106
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1670
    functionDepth: 2
    functionLinenumber: 1670
    functionLinenumberEnd: 1853
    functionName: block_state::deflate_stored
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - MIN
    - _tr_stored_block
    - flush_pending
    - read_buf
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: local block_state deflate_stored(deflate_state *s, int flush)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1873,1
    - Dst: INSERT_STRING
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1885,1
    - Dst: MAX_DIST
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1891,1
    - Dst: longest_match
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1896,1
    - Dst: check_match
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1900,1
    - Dst: _tr_tally_dist
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1902,1
    - Dst: INSERT_STRING
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1916,1
    - Dst: UPDATE_HASH
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1928,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1938,1
    - Dst: _tr_tally_lit
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1939,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1943,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1947,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1951,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1862
    functionDepth: 3
    functionLinenumber: 1862
    functionLinenumberEnd: 1953
    functionName: block_state::deflate_fast
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - FLUSH_BLOCK
    - UPDATE_HASH
    - _tr_tally_lit
    - check_match
    - longest_match
    - fill_window
    - INSERT_STRING
    - _tr_tally_dist
    - MAX_DIST
    - Tracevv
    linkageType: ''
    returnType: local
    signature: local block_state deflate_fast(deflate_state *s, int flush)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1973,1
    - Dst: INSERT_STRING
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1985,1
    - Dst: MAX_DIST
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1994,1
    - Dst: longest_match
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:1999,1
    - Dst: check_match
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2022,1
    - Dst: _tr_tally_dist
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2024,1
    - Dst: INSERT_STRING
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2036,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2043,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2050,1
    - Dst: _tr_tally_lit
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2051,1
    - Dst: FLUSH_BLOCK_ONLY
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2053,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2067,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2069,1
    - Dst: _tr_tally_lit
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2070,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2075,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2079,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1961
    functionDepth: 3
    functionLinenumber: 1961
    functionLinenumberEnd: 2081
    functionName: block_state::deflate_slow
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - Assert
    - FLUSH_BLOCK
    - FLUSH_BLOCK_ONLY
    - _tr_tally_lit
    - check_match
    - longest_match
    - fill_window
    - INSERT_STRING
    - _tr_tally_dist
    - MAX_DIST
    - Tracevv
    linkageType: ''
    returnType: local
    signature: local block_state deflate_slow(deflate_state *s, int flush)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2102,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2126,1
    - Dst: check_match
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2132,1
    - Dst: _tr_tally_dist
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2134,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2141,1
    - Dst: _tr_tally_lit
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2142,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2146,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2150,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2154,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2091
    functionDepth: 3
    functionLinenumber: 2091
    functionLinenumberEnd: 2156
    functionName: block_state::deflate_rle
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - Assert
    - FLUSH_BLOCK
    - _tr_tally_lit
    - check_match
    - fill_window
    - _tr_tally_dist
    - Tracevv
    linkageType: ''
    returnType: local
    signature: local block_state deflate_rle(deflate_state *s, int flush)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2168,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2178,1
    - Dst: _tr_tally_lit
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2179,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2182,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2186,1
    - Dst: FLUSH_BLOCK
      Src: /src/vinyl-cache/lib/libvgz/deflate.c:2190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - s
    - flush
    argTypes:
    - deflate_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2162
    functionDepth: 3
    functionLinenumber: 2162
    functionLinenumberEnd: 2192
    functionName: block_state::deflate_huff
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.c
    functionUses: 0
    functionsReached:
    - fill_window
    - Tracevv
    - FLUSH_BLOCK
    - _tr_tally_lit
    linkageType: ''
    returnType: local
    signature: local block_state deflate_huff(deflate_state *s, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: put_byte
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_byte(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: MAX_DIST
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_DIST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dist
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: d_code
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d_code(dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: _tr_tally_lit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: _tr_tally_dist
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: _tr_tally_lit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: _tr_tally_dist
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: _tr_tally_lit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: _tr_tally_dist
    functionSourceFile: /src/vinyl-cache/lib/libvgz/deflate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: zlibVersion
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT zlibVersion(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 114
    functionName: zlibCompileFlags
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: uLong zlibCompileFlags(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:124,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL z_error (char *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_MSG
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: zError
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - ERR_MSG
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT zError(int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dest
    - source
    - len
    argTypes:
    - Bytef*
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: ZLIB_INTERNAL::zmemcpy
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zmemcpy(Bytef* dest, const Bytef* source, uInt len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - Bytef*
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: ZLIB_INTERNAL::zmemcmp
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZLIB_INTERNAL zmemcmp(const Bytef* s1, const Bytef* s2, uInt len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dest
    - len
    argTypes:
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: ZLIB_INTERNAL::zmemzero
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zmemzero(Bytef* dest, uInt len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: farmalloc
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:215,1
    - Dst: farmalloc
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 228
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - farmalloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: farfree
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:236,1
    - Dst: farfree
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:243,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - Assert
    - farfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _halloc
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - uInt
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - _halloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hfree
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - _hfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:291,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: ZLIB_INTERNAL::zcalloc
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - calloc
    - malloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/lib/libvgz/zutil.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: ZLIB_INTERNAL::zcfree
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: put_short
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_short(s, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - code
    - len
    argTypes:
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: bi_reverse
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned bi_reverse(unsigned code, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_short
      Src: /src/vinyl-cache/lib/libvgz/trees.c:168,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/trees.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: bi_flush
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - put_short
    - put_byte
    linkageType: ''
    returnType: local
    signature: local bi_flush(deflate_state *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_short
      Src: /src/vinyl-cache/lib/libvgz/trees.c:183,1
    - Dst: put_byte
      Src: /src/vinyl-cache/lib/libvgz/trees.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 193
    functionName: bi_windup
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - put_short
    - put_byte
    linkageType: ''
    returnType: local
    signature: local bi_windup(deflate_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:219,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:221,1
    - Dst: bi_reverse
      Src: /src/vinyl-cache/lib/libvgz/trees.c:227,1
    - Dst: Tracecv
      Src: /src/vinyl-cache/lib/libvgz/trees.c:229,1
    - Dst: isgraph
      Src: /src/vinyl-cache/lib/libvgz/trees.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - tree
    - max_code
    - bl_count
    argTypes:
    - ct_data*
    - int
    - ushf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: gen_codes
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - Assert
    - Tracev
    - bi_reverse
    - isgraph
    - Tracecv
    linkageType: ''
    returnType: local
    signature: local gen_codes(ct_data *tree, int max_code, ushf *bl_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: send_code
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: send_code
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/trees.c:254,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:255,1
    - Dst: put_short
      Src: /src/vinyl-cache/lib/libvgz/trees.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - s
    - value
    - length
    argTypes:
    - deflate_state*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: send_bits
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - Tracevv
    - put_short
    - Assert
    linkageType: ''
    returnType: local
    signature: local send_bits(deflate_state *s, int value, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - value
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: send_bits
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_bits(s, value, length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:325,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:340,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:348,1
    - Dst: gen_codes
      Src: /src/vinyl-cache/lib/libvgz/trees.c:361,1
    - Dst: bi_reverse
      Src: /src/vinyl-cache/lib/libvgz/trees.c:366,1
    - Dst: gen_trees_header
      Src: /src/vinyl-cache/lib/libvgz/trees.c:371,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 374
    functionName: tr_static_init
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - Assert
    - gen_trees_header
    - gen_codes
    - bi_reverse
    linkageType: ''
    returnType: local
    signature: local tr_static_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - last
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: SEPARATOR
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEPARATOR(i, last, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/vinyl-cache/lib/libvgz/trees.c:389,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:392,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:393,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:396,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:398,1
    - Dst: SEPARATOR
      Src: /src/vinyl-cache/lib/libvgz/trees.c:399,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:402,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:404,1
    - Dst: SEPARATOR
      Src: /src/vinyl-cache/lib/libvgz/trees.c:405,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:408,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:410,1
    - Dst: SEPARATOR
      Src: /src/vinyl-cache/lib/libvgz/trees.c:411,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:414,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:417,1
    - Dst: SEPARATOR
      Src: /src/vinyl-cache/lib/libvgz/trees.c:418,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:421,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:423,1
    - Dst: SEPARATOR
      Src: /src/vinyl-cache/lib/libvgz/trees.c:424,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:427,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:429,1
    - Dst: SEPARATOR
      Src: /src/vinyl-cache/lib/libvgz/trees.c:430,1
    - Dst: fclose
      Src: /src/vinyl-cache/lib/libvgz/trees.c:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 434
    functionName: gen_trees_header
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 1
    functionsReached:
    - Assert
    - fprintf
    - SEPARATOR
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: void gen_trees_header(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: init_block
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local init_block(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tr_static_init
      Src: /src/vinyl-cache/lib/libvgz/trees.c:457,1
    - Dst: init_block
      Src: /src/vinyl-cache/lib/libvgz/trees.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 478
    functionName: ZLIB_INTERNAL::_tr_init
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - tr_static_init
    - init_block
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL _tr_init(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - tree
    - ','
    - top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: pqremove
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pqremove(s, tree, top)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tree
    - ','
    - n
    - ','
    - m
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 502
    functionName: smaller
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smaller(tree, n, m, depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaller
      Src: /src/vinyl-cache/lib/libvgz/trees.c:515,1
    - Dst: smaller
      Src: /src/vinyl-cache/lib/libvgz/trees.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - tree
    - k
    argTypes:
    - deflate_state*
    - ct_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 528
    functionName: pqdownheap
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - smaller
    linkageType: ''
    returnType: local
    signature: local pqdownheap(deflate_state *s, ct_data *tree, int k)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:579,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:606,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - deflate_state*
    - tree_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 613
    functionName: gen_bitlen
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - Tracev
    linkageType: ''
    returnType: local
    signature: local gen_bitlen(deflate_state *s, tree_desc *desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pqdownheap
      Src: /src/vinyl-cache/lib/libvgz/trees.c:667,1
    - Dst: pqremove
      Src: /src/vinyl-cache/lib/libvgz/trees.c:674,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/trees.c:687,1
    - Dst: pqdownheap
      Src: /src/vinyl-cache/lib/libvgz/trees.c:693,1
    - Dst: gen_bitlen
      Src: /src/vinyl-cache/lib/libvgz/trees.c:702,1
    - Dst: gen_codes
      Src: /src/vinyl-cache/lib/libvgz/trees.c:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - s
    - desc
    argTypes:
    - deflate_state*
    - tree_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 706
    functionName: build_tree
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - fprintf
    - gen_codes
    - gen_bitlen
    - pqremove
    - pqdownheap
    linkageType: ''
    returnType: local
    signature: local build_tree(deflate_state *s, tree_desc *desc)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - s
    - tree
    - max_code
    argTypes:
    - deflate_state*
    - ct_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 747
    functionName: scan_tree
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local scan_tree(deflate_state *s, ct_data *tree, int max_code)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:770,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:774,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:776,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:777,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:777,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:780,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:780,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:783,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:783,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - s
    - tree
    - max_code
    argTypes:
    - deflate_state*
    - ct_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 794
    functionName: send_tree
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - Assert
    - send_code
    - send_bits
    linkageType: ''
    returnType: local
    signature: local send_tree(deflate_state *s, ct_data *tree, int max_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_tree
      Src: /src/vinyl-cache/lib/libvgz/trees.c:804,1
    - Dst: scan_tree
      Src: /src/vinyl-cache/lib/libvgz/trees.c:805,1
    - Dst: build_tree
      Src: /src/vinyl-cache/lib/libvgz/trees.c:808,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 826
    functionName: build_bl_tree
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - build_tree
    - Tracev
    - scan_tree
    linkageType: ''
    returnType: local
    signature: local build_bl_tree(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:837,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:838,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:840,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:841,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:842,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:843,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:845,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:846,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:848,1
    - Dst: send_tree
      Src: /src/vinyl-cache/lib/libvgz/trees.c:850,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:851,1
    - Dst: send_tree
      Src: /src/vinyl-cache/lib/libvgz/trees.c:853,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/trees.c:854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - s
    - lcodes
    - dcodes
    - blcodes
    argTypes:
    - deflate_state*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 855
    functionName: send_all_trees
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - send_bits
    - Assert
    - send_tree
    - Tracev
    linkageType: ''
    returnType: local
    signature: "local send_all_trees(deflate_state *s, int lcodes, int dcodes,\n                          int
      blcodes)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:866,1
    - Dst: bi_windup
      Src: /src/vinyl-cache/lib/libvgz/trees.c:867,1
    - Dst: put_short
      Src: /src/vinyl-cache/lib/libvgz/trees.c:868,1
    - Dst: put_short
      Src: /src/vinyl-cache/lib/libvgz/trees.c:869,1
    - Dst: ZLIB_INTERNAL::zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/trees.c:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - s
    - buf
    - stored_len
    - last
    argTypes:
    - deflate_state*
    - charf*
    - ulg
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 882
    functionName: ZLIB_INTERNAL::_tr_stored_block
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - send_bits
    - put_short
    - ZLIB_INTERNAL::zmemcpy
    - bi_windup
    linkageType: ''
    returnType: void
    signature: "void ZLIB_INTERNAL _tr_stored_block(deflate_state *s, charf *buf,\n
      \                                   ulg stored_len, int last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bi_flush
      Src: /src/vinyl-cache/lib/libvgz/trees.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: ZLIB_INTERNAL::_tr_flush_bits
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - bi_flush
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL _tr_flush_bits(deflate_state *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:896,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:897,1
    - Dst: bi_flush
      Src: /src/vinyl-cache/lib/libvgz/trees.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 902
    functionName: ZLIB_INTERNAL::_tr_align
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - send_bits
    - send_code
    - bi_flush
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL _tr_align(deflate_state *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:925,1
    - Dst: Tracecv
      Src: /src/vinyl-cache/lib/libvgz/trees.c:926,1
    - Dst: isgraph
      Src: /src/vinyl-cache/lib/libvgz/trees.c:926,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:930,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:934,1
    - Dst: d_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:937,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:938,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:940,1
    - Dst: send_bits
      Src: /src/vinyl-cache/lib/libvgz/trees.c:944,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:950,1
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:952,1
    - Dst: send_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:957,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - s
    - ltree
    - dtree
    argTypes:
    - deflate_state*
    - ct_data*
    - ct_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 958
    functionName: compress_block
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - Assert
    - send_code
    - isgraph
    - Tracecv
    - d_code
    - send_bits
    linkageType: ''
    returnType: local
    signature: "local compress_block(deflate_state *s, const ct_data *ltree,\n                          const
      ct_data *dtree)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - deflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 998
    functionName: detect_data_type
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local detect_data_type(deflate_state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/vinyl-cache/lib/libvgz/trees.c:1124,1
    - Dst: MAX_DIST
      Src: /src/vinyl-cache/lib/libvgz/trees.c:1124,1
    - Dst: d_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:1126,1
    - Dst: d_code
      Src: /src/vinyl-cache/lib/libvgz/trees.c:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - s
    - dist
    - lc
    argTypes:
    - deflate_state*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1132
    functionName: ZLIB_INTERNAL::_tr_tally
    functionSourceFile: /src/vinyl-cache/lib/libvgz/trees.c
    functionUses: 0
    functionsReached:
    - d_code
    - Assert
    - MAX_DIST
    linkageType: ''
    returnType: int
    signature: int ZLIB_INTERNAL _tr_tally(deflate_state *s, unsigned dist, unsigned
      lc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: OF
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: OF
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zconf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: ERR_MSG
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_MSG(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: ERR_RETURN
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_RETURN(strm,err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: F_OPEN
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: F_OPEN
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: zmemzero
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: zmemzero
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: Assert
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Assert(cond,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Trace
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: Tracev
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracev(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: Tracevv
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracevv(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: Tracec
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracec(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: Tracecv
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracecv(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - items
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: ZALLOC
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZALLOC(strm, items, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: ZFREE
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZFREE(strm, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: TRY_FREE
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_FREE(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: ZSWAP32
    functionSourceFile: /src/vinyl-cache/lib/libvgz/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSWAP32(q)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inffast.c:114,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inffast.c:131,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inffast.c:165,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inffast.c:278,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 210
    argCount: 2
    argNames:
    - strm
    - start
    argTypes:
    - z_streamp
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 304
    functionName: ZLIB_INTERNAL::inflate_fast
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inffast.c
    functionUses: 0
    functionsReached:
    - Tracevv
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - word
    argTypes:
    - z_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: byte_swap
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local byte_swap (z_word_t word)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - z_crc_t
    - z_crc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: multmodp
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local multmodp(z_crc_t a, z_crc_t b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - k
    argTypes:
    - z_off64_t
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: x2nmodp
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - multmodp
    linkageType: ''
    returnType: local
    signature: local x2nmodp(z_off64_t n, unsigned k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:237,1
    - Dst: atomic_flag_test_and_set
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:238,1
    - Dst: atomic_load
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:239,1
    - Dst: init
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:242,1
    - Dst: atomic_store
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: once
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 2
    functionsReached:
    - init
    - atomic_flag_test_and_set
    - atomic_load
    - atomic_store
    linkageType: ''
    returnType: local
    signature: local once(once_t *state, void (*init)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: test_and_set
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local test_and_set (int volatile *flag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_and_set
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:270,1
    - Dst: init
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: once
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 2
    functionsReached:
    - init
    - test_and_set
    linkageType: ''
    returnType: local
    signature: local once(once_t *state, void (*init)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: byte_swap
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:321,1
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:329,1
    - Dst: braid
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:333,1
    - Dst: fopen
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:352,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:356,1
    - Dst: write_table
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:362,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:363,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:367,1
    - Dst: write_table64
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:375,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:376,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:380,1
    - Dst: write_table32hi
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:386,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:387,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:394,1
    - Dst: braid
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:399,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:402,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:408,1
    - Dst: write_table
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:409,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:410,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:412,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:417,1
    - Dst: write_table64
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:418,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:419,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:421,1
    - Dst: braid
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:425,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:428,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:434,1
    - Dst: write_table
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:435,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:436,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:438,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:443,1
    - Dst: write_table32hi
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:444,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:445,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:447,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:454,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:459,1
    - Dst: write_table
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:463,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:464,1
    - Dst: fclose
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 469
    functionName: make_crc_table
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - braid
    - fprintf
    - write_table64
    - byte_swap
    - write_table32hi
    - multmodp
    - write_table
    - fopen
    - fclose
    linkageType: ''
    returnType: local
    signature: local make_crc_table(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - out
    - table
    - k
    argTypes:
    - FILE*
    - z_crc_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: write_table
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local write_table(FILE *out, const z_crc_t FAR *table, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - out
    - table
    - k
    argTypes:
    - FILE*
    - z_word_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 497
    functionName: write_table32hi
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local write_table32hi(FILE *out, const z_word_t FAR *table, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - out
    - table
    - k
    argTypes:
    - FILE*
    - z_word_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: write_table64
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local write_table64(FILE *out, const z_word_t FAR *table, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_crc_table
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 1
    functionsReached:
    - make_crc_table
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x2nmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:532,1
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:536,1
    - Dst: byte_swap
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ltl
    - big
    - n
    - w
    argTypes:
    - z_crc_t[][]
    - z_word_t[][]
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 540
    functionName: braid
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 1
    functionsReached:
    - byte_swap
    - x2nmodp
    - multmodp
    linkageType: ''
    returnType: local
    signature: local braid(z_crc_t ltl[][256], z_word_t big[][256], int n, int w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: get_crc_table
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - once
    linkageType: ''
    returnType: z_crc_t
    signature: z_crc_t * ZEXPORT get_crc_table(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:588,1
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:622,1
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:623,1
    - Dst: x2nmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:643,1
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:644,1
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:645,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - unsigned long
    - unsigned char*
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 665
    functionName: crc32_z
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - x2nmodp
    - multmodp
    - once
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: "unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char
      FAR *buf,\n                              z_size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - z_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: crc_word
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local crc_word (z_word_t data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - z_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: crc_word_big
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local crc_word_big (z_word_t data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:700,1
    - Dst: crc_word
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:841,1
    - Dst: crc_word
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:843,1
    - Dst: crc_word
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:845,1
    - Dst: crc_word
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:847,1
    - Dst: crc_word
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:849,1
    - Dst: crc_word
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:851,1
    - Dst: byte_swap
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:880,1
    - Dst: crc_word_big
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:963,1
    - Dst: crc_word_big
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:965,1
    - Dst: crc_word_big
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:967,1
    - Dst: crc_word_big
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:969,1
    - Dst: crc_word_big
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:971,1
    - Dst: crc_word_big
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:973,1
    - Dst: byte_swap
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:980,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 108
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - unsigned long
    - unsigned char*
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 1010
    functionName: crc32_z
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - byte_swap
    - crc_word
    - crc_word_big
    - once
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: "unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char
      FAR *buf,\n                              z_size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_z
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - unsigned long
    - unsigned char*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: crc32
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 8
    functionsReached:
    - crc32_z
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: "unsigned long ZEXPORT crc32(unsigned long crc, const unsigned char
      FAR *buf,\n                            uInt len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1023,1
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1025,1
    - Dst: x2nmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - crc1
    - crc2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: crc32_combine64
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - x2nmodp
    - multmodp
    - once
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine64(uLong crc1, uLong crc2, z_off64_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_combine64
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc1
    - crc2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 3
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: crc32_combine
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 3
    functionsReached:
    - crc32_combine64
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine(uLong crc1, uLong crc2, z_off_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1036,1
    - Dst: x2nmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len2
    argTypes:
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: crc32_combine_gen64
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - x2nmodp
    - once
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine_gen64(z_off64_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_combine_gen64
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - len2
    argTypes:
    - z_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1044
    functionName: crc32_combine_gen
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - crc32_combine_gen64
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine_gen(z_off_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multmodp
      Src: /src/vinyl-cache/lib/libvgz/crc32.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc1
    - crc2
    - op
    argTypes:
    - uLong
    - uLong
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1049
    functionName: crc32_combine_op
    functionSourceFile: /src/vinyl-cache/lib/libvgz/crc32.c
    functionUses: 0
    functionsReached:
    - multmodp
    linkageType: ''
    returnType: uLong
    signature: uLong crc32_combine_op(uLong crc1, uLong crc2, uLong op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: zstrerror
    functionSourceFile: /src/vinyl-cache/lib/libvgz/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: zstrerror
    functionSourceFile: /src/vinyl-cache/lib/libvgz/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: zstrerror
    functionSourceFile: /src/vinyl-cache/lib/libvgz/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: GT_OFF
    functionSourceFile: /src/vinyl-cache/lib/libvgz/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GT_OFF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1821
    functionName: z_deflateInit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1823
    functionName: z_inflateInit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1826
    functionName: z_deflateInit2
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1829
    functionName: z_inflateInit2
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1832
    functionName: z_inflateBackInit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1835
    functionName: deflateInit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1837
    functionName: inflateInit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1840
    functionName: deflateInit2
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1843
    functionName: inflateInit2
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1846
    functionName: inflateBackInit
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1867
    functionName: z_gzgetc
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1870
    functionName: gzgetc
    functionSourceFile: /src/vinyl-cache/lib/libvgz/vgz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzgetc(g)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: inflateStateCheck
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local inflateStateCheck(z_streamp strm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:109,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: inflateResetKeep
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - Tracev
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateResetKeep(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:134,1
    - Dst: inflateResetKeep
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: inflateReset
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateResetKeep
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateReset(z_streamp strm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:147,1
    - Dst: ZFREE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:169,1
    - Dst: inflateReset
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:176,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - strm
    - windowBits
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: inflateReset2
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - ZFREE
    - inflateReset
    linkageType: ''
    returnType: int
    signature: int inflateReset2(z_streamp strm, int windowBits)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:204,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:206,1
    - Dst: inflateReset2
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:211,1
    - Dst: ZFREE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - strm
    - windowBits
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 217
    functionName: inflateInit2_
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - ZFREE
    - Tracev
    - ZALLOC
    - inflateReset2
    linkageType: ''
    returnType: int
    signature: "int inflateInit2_(z_streamp strm, int windowBits,\n                          const
      char *version, int stream_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2_
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - strm
    - version
    - stream_size
    argTypes:
    - z_streamp
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: inflateInit_
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateInit2_
    linkageType: ''
    returnType: int
    signature: "int inflateInit_(z_streamp strm, const char *version,\n                         int
      stream_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - strm
    - bits
    - value
    argTypes:
    - z_streamp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: inflatePrime
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflatePrime(z_streamp strm, int bits, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:277,1
    - Dst: inflate_table
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct inflate_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 296
    functionName: fixedtables
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflate_table
    linkageType: ''
    returnType: local
    signature: local fixedtables(struct inflate_state FAR *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fixedtables
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:324,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:325,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:326,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:327,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:328,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:329,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:330,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:331,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:332,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:333,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:335,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:338,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:339,1
    - Dst: putchar
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:342,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:344,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:346,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:349,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:350,1
    - Dst: putchar
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:353,1
    - Dst: puts
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 356
    functionName: makefixed
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - putchar
    - printf
    - fixedtables
    - puts
    linkageType: ''
    returnType: void
    signature: void makefixed(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:382,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:396,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:403,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - strm
    - end
    - copy
    argTypes:
    - z_streamp
    - Bytef*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 417
    functionName: updatewindow
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - ZALLOC
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: local updatewindow(z_streamp strm, const Bytef *end, unsigned copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: UPDATE_CHECK
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_CHECK(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    functionName: UPDATE_CHECK
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_CHECK(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: CRC2
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC2(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 446
    functionName: CRC4
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC4(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: LOAD
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: RESTORE
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: INITBITS
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: PULLBYTE
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: NEEDBITS
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 498
    functionName: BITS
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: DROPBITS
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: BYTEBITS
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 142
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:615,1
    - Dst: LOAD
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:621,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:632,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:637,1
    - Dst: CRC2
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:638,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:639,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:649,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:654,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:659,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:660,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:670,1
    - Dst: adler32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:671,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:673,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:677,1
    - Dst: CRC2
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:692,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:693,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:697,1
    - Dst: CRC4
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:701,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:702,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:706,1
    - Dst: CRC2
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:712,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:713,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:718,1
    - Dst: CRC2
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:723,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:724,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:739,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:744,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:766,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:788,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:799,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:805,1
    - Dst: crc32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:811,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:816,1
    - Dst: ZSWAP32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:817,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:818,1
    - Dst: RESTORE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:823,1
    - Dst: adler32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:826,1
    - Dst: BYTEBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:837,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:841,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:842,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:845,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:846,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:848,1
    - Dst: fixedtables
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:853,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:854,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:858,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:863,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:871,1
    - Dst: BYTEBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:874,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:875,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:882,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:884,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:897,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:905,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:909,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:910,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:911,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:912,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:913,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:914,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:915,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:923,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:929,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:930,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:931,1
    - Dst: inflate_table
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:938,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:945,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:952,1
    - Dst: PULLBYTE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:954,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:957,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:962,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:963,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:970,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:971,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:974,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:975,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:977,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:978,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:981,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:982,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:984,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:985,1
    - Dst: inflate_table
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1013,1
    - Dst: inflate_table
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1022,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1029,1
    - Dst: RESTORE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1038,1
    - Dst: inflate_fast
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1039,1
    - Dst: LOAD
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1040,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1047,1
    - Dst: PULLBYTE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1049,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1055,1
    - Dst: PULLBYTE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1057,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1059,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1062,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1066,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1073,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1088,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1089,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1090,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1093,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1099,1
    - Dst: PULLBYTE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1101,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1107,1
    - Dst: PULLBYTE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1109,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1111,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1114,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1127,1
    - Dst: BITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1128,1
    - Dst: DROPBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1129,1
    - Dst: Tracevv
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1139,1
    - Dst: Trace
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1154,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1195,1
    - Dst: UPDATE_CHECK
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1201,1
    - Dst: ZSWAP32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1207,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1212,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1213,1
    - Dst: NEEDBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1220,1
    - Dst: INITBITS
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1226,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1227,1
    - Dst: RESTORE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1253,1
    - Dst: updatewindow
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1256,1
    - Dst: UPDATE_CHECK
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1267,1
    CyclomaticComplexity: 217
    EdgeCount: 217
    ICount: 614
    argCount: 2
    argNames:
    - strm
    - flush
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 595
    functionDepth: 4
    functionLinenumber: 595
    functionLinenumberEnd: 1274
    functionName: inflate
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 3
    functionsReached:
    - fixedtables
    - INITBITS
    - ZSWAP32
    - Trace
    - CRC4
    - NEEDBITS
    - BYTEBITS
    - inflate_fast
    - BITS
    - Tracevv
    - RESTORE
    - inflate_table
    - updatewindow
    - Tracev
    - zmemcpy
    - LOAD
    - CRC2
    - UPDATE_CHECK
    - crc32
    - DROPBITS
    - inflateStateCheck
    - PULLBYTE
    - adler32
    linkageType: ''
    returnType: int
    signature: int inflate(z_streamp strm, int flush)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1278,1
    - Dst: ZFREE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1281,1
    - Dst: ZFREE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1282,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1286
    functionName: inflateEnd
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 2
    functionsReached:
    - Tracev
    - inflateStateCheck
    - ZFREE
    linkageType: ''
    returnType: int
    signature: int inflateEnd(z_streamp strm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1295,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1300,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1308
    functionName: inflateGetDictionary
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: "int inflateGetDictionary(z_streamp strm, Bytef *dictionary,\n                                 uInt
      *dictLength)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1317,1
    - Dst: adler32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1324,1
    - Dst: adler32
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1325,1
    - Dst: updatewindow
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1332,1
    - Dst: Tracev
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes:
    - z_streamp
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1340
    functionName: inflateSetDictionary
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - Tracev
    - updatewindow
    - inflateStateCheck
    - adler32
    linkageType: ''
    returnType: int
    signature: "int inflateSetDictionary(z_streamp strm, const Bytef *dictionary,\n
      \                                uInt dictLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - head
    argTypes:
    - z_streamp
    - gz_headerp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1354
    functionName: inflateGetHeader
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateGetHeader(z_streamp strm, gz_headerp head)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - have
    - buf
    - len
    argTypes:
    - unsigned FAR*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1385
    functionName: syncsearch
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: "local unsigned syncsearch(unsigned FAR *have, const unsigned char
      FAR *buf,\n                          unsigned len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1395,1
    - Dst: syncsearch
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1411,1
    - Dst: syncsearch
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1415,1
    - Dst: inflateReset
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1428,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1387
    functionDepth: 3
    functionLinenumber: 1387
    functionLinenumberEnd: 1433
    functionName: inflateSync
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - syncsearch
    - inflateStateCheck
    - inflateReset
    linkageType: ''
    returnType: int
    signature: int inflateSync(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1449
    functionName: inflateSyncPoint
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateSyncPoint(z_streamp strm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1458,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1464,1
    - Dst: ZALLOC
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1469,1
    - Dst: ZFREE
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1471,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1477,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1478,1
    - Dst: zmemcpy
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1488,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - dest
    - source
    argTypes:
    - z_streamp
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1493
    functionName: inflateCopy
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - ZFREE
    - inflateStateCheck
    - ZALLOC
    - zmemcpy
    linkageType: ''
    returnType: int
    signature: int inflateCopy(z_streamp dest, z_streamp source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - subvert
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1508
    functionName: inflateUndermine
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateUndermine(z_streamp strm, int subvert)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - strm
    - check
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1520
    functionName: inflateValidate
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: int inflateValidate(z_streamp strm, int check)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1522
    functionDepth: 1
    functionLinenumber: 1522
    functionLinenumberEnd: 1531
    functionName: inflateMark
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: long ZEXPORT
    signature: long ZEXPORT inflateMark(z_streamp strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/vinyl-cache/lib/libvgz/inflate.c:1535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1538
    functionName: inflateCodesUsed
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inflate.c
    functionUses: 0
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: unsigned long ZEXPORT inflateCodesUsed(z_streamp strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: DO1
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO1(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: DO2
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO2(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: DO4
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO4(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DO8
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO8(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: DO16
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO16(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: CHOP
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHOP(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: MOD28
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: MOD
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: MOD
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: MOD28
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: MOD63
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD63(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MOD28
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:95,1
    - Dst: DO16
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:104,1
    - Dst: MOD
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:107,1
    - Dst: MOD
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:108,1
    - Dst: DO16
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:115,1
    - Dst: MOD
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:122,1
    - Dst: MOD
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - adler
    - buf
    - len
    argTypes:
    - uLong
    - Bytef*
    - z_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 128
    functionName: adler32_z
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached:
    - MOD28
    - DO16
    - MOD
    linkageType: ''
    returnType: uLong
    signature: uLong adler32_z(uLong adler, const Bytef *buf, z_size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_z
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - adler
    - buf
    - len
    argTypes:
    - uLong
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: adler32
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 5
    functionsReached:
    - adler32_z
    linkageType: ''
    returnType: uLong
    signature: uLong adler32(uLong adler, const Bytef *buf, uInt len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MOD63
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:146,1
    - Dst: MOD
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: adler32_combine_
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached:
    - MOD
    - MOD63
    linkageType: ''
    returnType: local
    signature: local adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_combine_
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: adler32_combine
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached:
    - adler32_combine_
    linkageType: ''
    returnType: uLong
    signature: uLong adler32_combine(uLong adler1, uLong adler2, z_off_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_combine_
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - adler1
    - adler2
    - len2
    argTypes:
    - uLong
    - uLong
    - z_off64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: adler32_combine64
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 0
    functionsReached:
    - adler32_combine_
    linkageType: ''
    returnType: uLong
    signature: uLong adler32_combine64(uLong adler1, uLong adler2, z_off64_t len2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/vinyl-cache/lib/libvgz/adler32.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - adler
    - buf
    - len
    argTypes:
    - uLong
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: adler32
    functionSourceFile: /src/vinyl-cache/lib/libvgz/adler32.c
    functionUses: 5
    functionsReached:
    - abort
    linkageType: ''
    returnType: uLong
    signature: uLong adler32(uLong adler, const Bytef *buf, uInt len)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 131
    argCount: 6
    argNames:
    - type
    - lens
    - codes
    - table
    - bits
    - work
    argTypes:
    - codetype
    - unsigned short FAR*
    - unsigned
    - code**
    - unsigned FAR*
    - unsigned short FAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 300
    functionName: ZLIB_INTERNAL::inflate_table
    functionSourceFile: /src/vinyl-cache/lib/libvgz/inftrees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR
      *lens,\n                                unsigned codes, code FAR * FAR *table,\n
      \                               unsigned FAR *bits, unsigned short FAR *work)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:63,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:64,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:65,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:66,1
    - Dst: dup2
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:66,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - target
    argTypes:
    - int
    assertStmts:
    - condition: (target >= 0)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    - condition: (dup2(fd, target) == target)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    - condition: (fd >= 0)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: VFIL_null_fd
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 6
    functionsReached:
    - assert
    - dup2
    - closefd
    - open
    linkageType: ''
    returnType: void
    signature: void VFIL_null_fd(int target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:77,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:77,1
    - Dst: S_ISREG
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:78,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:80,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:81,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:82,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - fd
    - sz
    argTypes:
    - int
    - ssize_t*
    assertStmts:
    - condition: (f != NULL)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: vfil_readfd
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 1
    functionsReached:
    - malloc
    - AZ
    - assert
    - free
    - read
    - S_ISREG
    - fstat
    linkageType: ''
    returnType: char
    signature: 'char *

      vfil_readfd(int fd, ssize_t *sz)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - buf
    - sz
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 109
    functionName: vfil_writefd
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 1
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: int vfil_writefd(int fd, const char *buf, size_t sz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:118,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:123,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pfx
    - fn
    - flags
    - mode
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: vfil_openfile
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 2
    functionsReached:
    - bprintf
    - open
    linkageType: ''
    returnType: int
    signature: int vfil_openfile(const char *pfx, const char *fn, int flags, int mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vfil_openfile
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:134,1
    - Dst: vfil_readfd
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:137,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pfx
    - fn
    - sz
    argTypes:
    - char*
    - char*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: VFIL_readfile
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 10
    functionsReached:
    - vfil_openfile
    - closefd
    - vfil_readfd
    linkageType: ''
    returnType: char
    signature: 'char *

      VFIL_readfile(const char *pfx, const char *fn, ssize_t *sz)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vfil_openfile
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:150,1
    - Dst: vfil_writefd
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:153,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pfx
    - fn
    - buf
    - sz
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: VFIL_writefile
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 3
    functionsReached:
    - vfil_openfile
    - closefd
    - vfil_writefd
    linkageType: ''
    returnType: int
    signature: int VFIL_writefile(const char *pfx, const char *fn, const char *buf,
      size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:165,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:166,1
    - Dst: fcntl
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:168,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts:
    - condition: (i != -1)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    - condition: (i != -1)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: VFIL_nonblocking
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 1
    functionsReached:
    - fcntl
    - assert
    linkageType: ''
    returnType: int
    signature: int VFIL_nonblocking(int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstatvfs
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - fd
    - pbs
    - psize
    - pspace
    argTypes:
    - int
    - unsigned*
    - uintmax_t*
    - uintmax_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: VFIL_fsinfo
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 2
    functionsReached:
    - fstatvfs
    linkageType: ''
    returnType: int
    signature: int VFIL_fsinfo(int fd, unsigned *pbs, uintmax_t *psize, uintmax_t
      *pspace)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ftruncate
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:219,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:221,1
    - Dst: VFIL_fsinfo
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:223,1
    - Dst: fstatfs
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:242,1
    - Dst: fallocate
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:243,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:259,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:260,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:261,1
    - Dst: lseek
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:261,1
    - Dst: write
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:272,1
    - Dst: lseek
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:272,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:273,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - fd
    - size
    - insist
    argTypes:
    - int
    - uintmax_t
    - int
    assertStmts:
    - condition: (lseek(fd, 0, SEEK_SET) == 0)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    - condition: (lseek(fd, 0, SEEK_SET) == 0)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    constantsTouched: []
    func_position:
      end: 275
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 275
    functionName: VFIL_allocate
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 2
    functionsReached:
    - AN
    - VFIL_fsinfo
    - fallocate
    - assert
    - write
    - ftruncate
    - fstatfs
    - free
    - calloc
    - lseek
    - fstat
    linkageType: ''
    returnType: int
    signature: int VFIL_allocate(int fd, uintmax_t size, int insist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:302,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:303,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:307,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:308,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:309,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:312,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:313,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:314,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:315,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:316,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:317,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:320,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:323,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:324,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - pp
    - path
    argTypes:
    - struct vfil_path**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 328
    functionName: VFIL_setpath
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 4
    functionsReached:
    - VTAILQ_INIT
    - VTAILQ_FIRST
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - REPLACE
    - strchr
    - VTAILQ_REMOVE
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: void VFIL_setpath(struct vfil_path **pp, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:335,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:336,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - fn
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: vfil_path_openfile
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 0
    functionsReached:
    - VFIL_readfile
    - AN
    linkageType: ''
    returnType: int
    signature: int vfil_path_openfile(void *priv, const char *fn)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:354,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:355,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:360,1
    - Dst: func
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:364,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:366,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:370,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:371,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:372,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:373,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:374,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:374,1
    - Dst: access
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:375,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:375,1
    - Dst: func
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:377,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:377,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:380,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:380,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:381,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:382,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vfil.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - vp
    - func
    - priv
    - fni
    - fno
    argTypes:
    - struct vfil_path*
    - vfil_path_func_f*
    - void*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 389
    functionName: VFIL_searchpath
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfil.c
    functionUses: 4
    functionsReached:
    - access
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_data
    - VSB_finish
    - VSB_printf
    - REPLACE
    - strdup
    - AZ
    - func
    - VSB_clear
    - VTAILQ_FOREACH
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: "int VFIL_searchpath(const struct vfil_path *vp, vfil_path_func_f *func,
      void *priv,\n    const char *fni, char **fno)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:206,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:211,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:216,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:223,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:225,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: vsa_normalize
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memcpy
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vsa_normalize(struct suckaddr *sua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:243,1
    - Dst: VSA_BuildFAP
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:244,1
    - Dst: VSA_BuildFAP
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: VSA_Init
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 1
    functionsReached:
    - AN
    - VSA_BuildFAP
    linkageType: ''
    returnType: void
    signature: void VSA_Init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:256,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:259,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - sua
    - dst
    argTypes:
    - struct suckaddr*
    - unsigned char**
    assertStmts:
    - condition: (sua->u.sa.sa_family == sua->u.sa6.sin6_family)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    - condition: (sua->u.sa.sa_family == sua->u.sa4.sin_family)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    constantsTouched: []
    func_position:
      end: 274
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 274
    functionName: VSA_GetPtr
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 2
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSA_GetPtr(const struct suckaddr *sua, const unsigned char ** dst)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - sa
    argTypes:
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: sua_len
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t sua_len(const struct sockaddr *sa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Build
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - sal
    argTypes:
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: VSA_Malloc
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 2
    functionsReached:
    - VSA_Build
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VSA_Malloc(const void *s, unsigned  sal)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:326,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:331,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:336,1
    - Dst: VSA_Build
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:338,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:340,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:345,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:350,1
    - Dst: VSA_Build
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:352,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - d
    - fam
    - a
    - al
    - p
    - pl
    argTypes:
    - void*
    - sa_family_t
    - void*
    - unsigned
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 359
    functionName: VSA_BuildFAP
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 4
    functionsReached:
    - memset
    - VSA_Build
    - memcpy
    linkageType: ''
    returnType: struct suckaddr
    signature: "struct suckaddr *\nVSA_BuildFAP(void *d, sa_family_t fam, const void
      *a, unsigned al,\n\t    const void *p, unsigned pl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:368,1
    - Dst: sua_len
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:369,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:374,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:375,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:380,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:383,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:384,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:387,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:388,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:391,1
    - Dst: vsa_normalize
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - d
    - s
    - sal
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts:
    - condition: (sua->u.sa.sa_family == PF_INET)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    - condition: (sua->u.sa.sa_family == PF_INET6)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    constantsTouched: []
    func_position:
      end: 398
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 398
    functionName: VSA_Build
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 6
    functionsReached:
    - AN
    - INIT_OBJ
    - malloc
    - memcpy
    - sua_len
    - assert
    - WRONG
    - vsa_normalize
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VSA_Build(void *d, const void *s, unsigned sal)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:405,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:406,1
    - Dst: sua_len
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sua
    - slp
    argTypes:
    - struct suckaddr*
    - socklen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 412
    functionName: VSA_Get_Sockaddr
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 6
    functionsReached:
    - AN
    - sua_len
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      VSA_Get_Sockaddr(const struct suckaddr *sua, socklen_t *slp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: VSA_Get_Proto
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 18
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSA_Get_Proto(const struct suckaddr *sua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:425,1
    - Dst: sua_len
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: VSA_Sane
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 7
    functionsReached:
    - sua_len
    - VALID_OBJ
    linkageType: ''
    returnType: int
    signature: int VSA_Sane(const struct suckaddr *sua)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:432,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:433,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sua1
    - sua2
    argTypes:
    - struct suckaddr*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: VSA_Compare
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 3
    functionsReached:
    - memcmp
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VSA_Compare(const struct suckaddr *sua1, const struct suckaddr
      *sua2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:441,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:441,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:442,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:442,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:449,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:452,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:455,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:457,1
    - Dst: return
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sua1
    - sua2
    argTypes:
    - struct suckaddr*
    - struct suckaddr*
    assertStmts:
    - condition: (VSA_Sane(sua1))
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    - condition: (VSA_Sane(sua2))
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    constantsTouched: []
    func_position:
      end: 458
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 458
    functionName: VSA_Compare_IP
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 1
    functionsReached:
    - return
    - NEEDLESS
    - VSA_Sane
    - assert
    - WRONG
    - memcmp
    linkageType: ''
    returnType: int
    signature: int VSA_Compare_IP(const struct suckaddr *sua1, const struct suckaddr
      *sua2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:465,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:465,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:466,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:467,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts:
    - condition: (VSA_Sane(sua))
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: VSA_Clone
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 4
    functionsReached:
    - memcpy
    - VSA_Sane
    - assert
    - XXXAN
    - calloc
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VSA_Clone(const struct suckaddr *sua)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:476,1
    - Dst: ntohs
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:479,1
    - Dst: ntohs
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sua
    argTypes:
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 485
    functionName: VSA_Port
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 3
    functionsReached:
    - ntohs
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: unsigned
    signature: unsigned VSA_Port(const struct suckaddr *sua)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - which
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 511
    functionName: VSA_getname
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSA_getname(which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:521,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:522,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinyl/vsa.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vsap
    argTypes:
    - struct suckaddr**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: VSA_free
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsa.c
    functionUses: 8
    functionsReached:
    - TRUST_ME
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: void
    signature: void VSA_free(const struct suckaddr **vsap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:58,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:60,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:61,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:62,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:64,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:66,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:68,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:69,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:70,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:72,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - S_fd
    - challenge
    - response
    argTypes:
    - int
    - char*
    - char[]
    assertStmts:
    - condition: (CLI_AUTH_RESPONSE_LEN == (VSHA256_LEN * 2))
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    - condition: (snprintf(response + 2 * i, 3, "%02x", buf[i]) == 2)
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: VCLI_AuthResponse
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    functionUses: 4
    functionsReached:
    - VSHA256_Final
    - VSHA256_Init
    - VSHA256_Update
    - assert
    - snprintf
    - read
    linkageType: ''
    returnType: void
    signature: "void VCLI_AuthResponse(int S_fd, const char *challenge,\n    char
      response[CLI_AUTH_RESPONSE_LEN + 1])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:87,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:88,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:90,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:92,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:93,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:94,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:94,1
    - Dst: writev
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - status
    - result
    argTypes:
    - int
    - unsigned
    - char*
    assertStmts:
    - condition: (status >= 100)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    - condition: (status <= 999)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    - condition: (i == CLI_LINE0_LEN)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    - condition: (strtoul(res + 3, NULL, 10) == len)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    constantsTouched: []
    func_position:
      end: 109
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 109
    functionName: VCLI_WriteResult
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    functionUses: 2
    functionsReached:
    - writev
    - strtoul
    - assert
    - snprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: int VCLI_WriteResult(int fd, unsigned status, const char *result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:120,1
    - Dst: VTIM_poll_tmo
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:120,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - fd
    - ptr
    - len
    - tmo
    argTypes:
    - int
    - char*
    - unsigned
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: read_tmo
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    functionUses: 0
    functionsReached:
    - read
    - VTIM_poll_tmo
    - poll
    linkageType: ''
    returnType: int
    signature: int read_tmo(int fd, char *ptr, unsigned len, double tmo)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: read_tmo
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:155,1
    - Dst: sscanf
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:166,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:173,1
    - Dst: read_tmo
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:177,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:187,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:193,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinyl/vcli_proto.c:196,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 4
    argNames:
    - fd
    - status
    - ptr
    - tmo
    argTypes:
    - int
    - unsigned*
    - char**
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 198
    functionName: VCLI_ReadResult
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
    functionUses: 8
    functionsReached:
    - malloc
    - sscanf
    - strdup
    - read_tmo
    - free
    linkageType: ''
    returnType: int
    signature: int VCLI_ReadResult(int fd, unsigned *status, char **ptr, double tmo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:71,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:72,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:82,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:86,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - struct vsb*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 96
    functionName: VENC_Encode_Base64
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/venc.c
    functionUses: 1
    functionsReached:
    - memset
    - AN
    - VSB_bcat
    linkageType: ''
    returnType: void
    signature: void VENC_Encode_Base64(struct vsb *dst, const void *src, size_t len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:132,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:133,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:136,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:138,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:139,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:159,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:165,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:171,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:176,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - ves
    - b
    - e
    argTypes:
    - struct venc_state*
    - char*
    - char*
    assertStmts:
    - condition: (e >= b)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vinyl-cache/lib/libvinyl/venc.c
    constantsTouched: []
    func_position:
      end: 180
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 180
    functionName: venc_decode_base64
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/venc.c
    functionUses: 0
    functionsReached:
    - AN
    - VSB_putc
    - assert
    - WRONG
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      venc_decode_base64(struct venc_state *ves, const char *b, const char *e)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:195,1
    - Dst: venc_decode_base64
      Src: /src/vinyl-cache/lib/libvinyl/venc.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - b
    - e
    argTypes:
    - struct vsb*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 205
    functionName: VENC_Decode_Base64
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/venc.c
    functionUses: 2
    functionsReached:
    - venc_decode_base64
    - memset
    linkageType: ''
    returnType: char
    signature: 'char *

      VENC_Decode_Base64(struct vsb *dst, const char *b, const char *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - evb
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: DBG
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG(evb, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:104,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:105,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - priv
    - a
    - u
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts:
    - condition: (u < evb->lpfd)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: vev_bh_update
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 0
    functionsReached:
    - assert
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vev_bh_update(void *priv, void *a, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:122,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:123,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: vev_bh_cmp
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 0
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vev_bh_cmp(void *priv, const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:145,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:146,1
    - Dst: realloc
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:147,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 150
    functionName: vev_get_pfd
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 2
    functionsReached:
    - AN
    - realloc
    linkageType: ''
    returnType: int
    signature: int vev_get_pfd(struct vev_root *evb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:162,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:167,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: vev_get_sig
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 1
    functionsReached:
    - free
    - calloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: int vev_get_sig(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:184,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:185,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - sig
    - siginfo
    - ctx
    argTypes:
    - int
    - siginfo_t*
    - void*
    assertStmts:
    - condition: (sig < vev_nsig)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (vev_sigs != NULL)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: vev_sigaction
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: void vev_sigaction(int sig, siginfo_t *siginfo, void *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:202,1
    - Dst: vev_get_pfd
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:206,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:207,1
    - Dst: VBH_new
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:211,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:212,1
    - Dst: fopen
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:214,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:215,1
    - Dst: setbuf
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:216,1
    - Dst: DBG
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: VEV_New
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 3
    functionsReached:
    - pthread_self
    - AN
    - setbuf
    - VBH_new
    - DBG
    - vev_get_pfd
    - fopen
    - calloc
    - free
    linkageType: ''
    returnType: struct vev_root
    signature: 'struct vev_root *

      VEV_New(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:230,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:231,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:231,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:231,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:232,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:233,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:234,1
    - Dst: VBH_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:236,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:237,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:238,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - evbp
    argTypes:
    - struct vev_root**
    assertStmts:
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: VEV_Destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 3
    functionsReached:
    - pthread_self
    - VBH_root
    - TAKE_OBJ_NOTNULL
    - VEV_Stop
    - FREE_OBJ
    - VBH_destroy
    - assert
    - pthread_equal
    - free
    linkageType: ''
    returnType: void
    signature: void VEV_Destroy(struct vev_root **evbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: VEV_Alloc
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 9
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct vev
    signature: 'struct vev *

      VEV_Alloc(void)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:264,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:265,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:267,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:268,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:269,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:269,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:269,1
    - Dst: DBG
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:270,1
    - Dst: vev_get_pfd
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:272,1
    - Dst: vev_get_sig
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:276,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:279,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:283,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:295,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:300,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:301,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:307,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:308,1
    - Dst: sigaction
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - evb
    - e
    argTypes:
    - struct vev_root*
    - struct vev*
    assertStmts:
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->sig >= 0)
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (es != NULL)
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->magic != VEV_MAGIC)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->fd < 0 || e->fd_flags)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->fd < 0)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->callback != NULL)
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->timeout >= 0.0)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->__binheap_idx != VBH_NOIDX)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 312
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 312
    functionName: VEV_Start
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 9
    functionsReached:
    - pthread_self
    - CHECK_OBJ_NOTNULL
    - DBG
    - vev_get_pfd
    - vev_get_sig
    - AZ
    - assert
    - pthread_equal
    - VTIM_mono
    - sigaction
    - VBH_insert
    linkageType: ''
    returnType: int
    signature: int VEV_Start(struct vev_root *evb, struct vev *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:321,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:322,1
    - Dst: DBG
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:325,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:325,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:326,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:328,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:330,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:331,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:335,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:341,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:343,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:348,1
    - Dst: sigaction
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:348,1
    - Dst: FINI_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - evb
    - e
    argTypes:
    - struct vev_root*
    - struct vev*
    assertStmts:
    - condition: (evb == e->__vevb)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (evb->pev[e->__binheap_idx] == e)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->__binheap_idx != VBH_NOIDX)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->sig < vev_nsig)
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (es->vev == e)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->__binheap_idx == VBH_NOIDX)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (evb->n_fd_events > 0)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 354
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 354
    functionName: VEV_Stop
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 7
    functionsReached:
    - pthread_self
    - FINI_OBJ
    - CHECK_OBJ_NOTNULL
    - VBH_delete
    - DBG
    - AZ
    - assert
    - pthread_equal
    - sigaction
    linkageType: ''
    returnType: void
    signature: void VEV_Stop(struct vev_root *evb, struct vev *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:363,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:364,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:364,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:364,1
    - Dst: VEV_Once
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts:
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 369
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 369
    functionName: VEV_Loop
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 1
    functionsReached:
    - pthread_self
    - VEV_Once
    - CHECK_OBJ_NOTNULL
    - assert
    - pthread_equal
    linkageType: ''
    returnType: int
    signature: int VEV_Loop(struct vev_root *evb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct vev*::callback
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:379,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:381,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:382,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:385,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - evb
    - e
    - t
    argTypes:
    - struct vev_root*
    - struct vev*
    - vtim_mono
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 389
    functionName: vev_sched_timeout
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 1
    functionsReached:
    - VEV_Stop
    - VBH_delete
    - struct vev*::callback
    - free
    - VBH_insert
    linkageType: ''
    returnType: int
    signature: int vev_sched_timeout(struct vev_root *evb, struct vev *e, vtim_mono
      t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:405,1
    - Dst: struct vev*::callback
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:406,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:409,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:412,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:413,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts:
    - condition: (e != NULL)
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 419
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 419
    functionName: vev_sched_signal
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 1
    functionsReached:
    - VEV_Stop
    - memset
    - struct vev*::callback
    - assert
    - free
    linkageType: ''
    returnType: int
    signature: int vev_sched_signal(struct vev_root *evb)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:430,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:431,1
    - Dst: pthread_equal
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:431,1
    - Dst: pthread_self
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:431,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:432,1
    - Dst: vev_sched_signal
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:435,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:438,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:440,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:441,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:442,1
    - Dst: vev_sched_timeout
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:444,1
    - Dst: poll
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:454,1
    - Dst: vev_sched_signal
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:456,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:461,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:462,1
    - Dst: vev_sched_timeout
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:464,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:467,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:469,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:474,1
    - Dst: DBG
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:476,1
    - Dst: DBG
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:483,1
    - Dst: struct vev*::callback
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:485,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:487,1
    - Dst: VEV_Stop
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:491,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:492,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vev.c:497,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - evb
    argTypes:
    - struct vev_root*
    assertStmts:
    - condition: (evb->lpfd < evb->npfd)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (evb->n_fd_events == i)
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (progress > 0)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (pthread_equal(evb->thread, pthread_self()))
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e != NULL)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (e->__binheap_idx == VBH_NOIDX + 1)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - condition: (evb->n_fd_events > 0)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    constantsTouched: []
    func_position:
      end: 501
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 501
    functionName: VEV_Once
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vev.c
    functionUses: 5
    functionsReached:
    - pthread_self
    - VBH_root
    - VEV_Stop
    - CHECK_OBJ_NOTNULL
    - DBG
    - struct vev*::callback
    - AZ
    - assert
    - vev_sched_signal
    - pthread_equal
    - vev_sched_timeout
    - poll
    - VTIM_mono
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: int
    signature: int VEV_Once(struct vev_root *evb)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:149,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:150,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:151,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:152,1
    - Dst: VSB_quote_pfx
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:155,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:156,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:156,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:158,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:159,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:160,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:161,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:162,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:162,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:163,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:164,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:165,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:166,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:166,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:167,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:168,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:169,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:170,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:170,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:171,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:172,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:173,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:175,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:177,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:179,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:181,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:183,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:185,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:187,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:189,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:190,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:193,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:193,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:194,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:194,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:195,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:197,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:198,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb_test.c:199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts:
    - condition: (VSB_finish(vsb) == 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vinyl-cache/lib/libvinyl/vsb_test.c
    constantsTouched: []
    func_position:
      end: 201
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb_test.c
    functionUses: 1
    functionsReached:
    - AN
    - VSB_data
    - VSB_finish
    - VSB_printf
    - strcmp
    - assert
    - AZ
    - VSB_quote_pfx
    - VSB_cat
    - VSB_quote
    - VSB_clear
    - printf
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_absolute_time
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:110,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:112,1
    - Dst: mach_timebase_info
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: mach_time_init
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - AZ
    - mach_timebase_info
    - mach_absolute_time
    linkageType: ''
    returnType: void
    signature: void mach_time_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mach_time_init
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: init
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 84
    functionsReached:
    - mach_time_init
    linkageType: ''
    returnType: void
    signature: void init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gethrtime
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:134,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:138,1
    - Dst: clock_gettime
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:138,1
    - Dst: ts_vtim
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 141
    functionName: VTIM_mono
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 38
    functionsReached:
    - ts_vtim
    - clock_gettime
    - gethrtime
    - AZ
    linkageType: ''
    returnType: vtim_mono
    signature: vtim_mono VTIM_mono(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:149,1
    - Dst: clock_gettime
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:149,1
    - Dst: ts_vtim
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:150,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:154,1
    - Dst: gettimeofday
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:154,1
    - Dst: tv_vtim
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: VTIM_real
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 51
    functionsReached:
    - ts_vtim
    - clock_gettime
    - tv_vtim
    - AZ
    - gettimeofday
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real VTIM_real(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:165,1
    - Dst: gmtime_r
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:172,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:175,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - vtim_real
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 180
    functionName: VTIM_format
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 9
    functionsReached:
    - snprintf
    - AN
    - gmtime_r
    linkageType: ''
    returnType: void
    signature: void VTIM_format(vtim_real t, char p[VTIM_FORMAT_SIZE])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: FAIL
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: FAIL
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mult
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: DIGIT
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIGIT(mult, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: MUSTBE
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUSTBE(chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: WEEKDAY
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WEEKDAY()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 233
    functionName: MONTH
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MONTH()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: TIMESTAMP
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMESTAMP()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:255,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:262,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:263,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:264,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:265,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:266,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:267,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:268,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:269,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:270,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:271,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:272,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:273,1
    - Dst: WEEKDAY
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:276,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:280,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:282,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:284,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:285,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:287,1
    - Dst: MONTH
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:288,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:289,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:290,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:291,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:292,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:293,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:294,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:295,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:296,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:297,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:298,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:299,1
    - Dst: MONTH
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:303,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:304,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:306,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:309,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:310,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:311,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:312,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:313,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:314,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:315,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:316,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:317,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:318,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:320,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:321,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:322,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:323,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:324,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:325,1
    - Dst: MONTH
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:326,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:327,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:328,1
    - Dst: DIGIT
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:329,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:333,1
    - Dst: TIMESTAMP
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:334,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:335,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:336,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:337,1
    - Dst: MUSTBE
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:338,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:340,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:347,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:350,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:352,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:354,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:356,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:358,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:360,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:366,1
    - Dst: FAIL
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:394,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 117
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts:
    - condition: (weekday >= 0 && weekday <= 6)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/lib/libvinyl/vtim.c
    constantsTouched: []
    func_position:
      end: 401
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 401
    functionName: VTIM_parse
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 8
    functionsReached:
    - DIGIT
    - MUSTBE
    - FAIL
    - assert
    - TIMESTAMP
    - WEEKDAY
    - MONTH
    - memcmp
    - strlen
    linkageType: ''
    returnType: vtim_real
    signature: vtim_real VTIM_parse(const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_timespec
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:408,1
    - Dst: nanosleep
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 411
    functionName: VTIM_sleep
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 47
    functionsReached:
    - nanosleep
    - VTIM_timespec
    linkageType: ''
    returnType: void
    signature: void VTIM_sleep(vtim_dur t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:423,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:423,1
    - Dst: trunc
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: VTIM_timeval
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - isnan
    - trunc
    - AZ
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval VTIM_timeval(vtim_dur t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:434,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:434,1
    - Dst: trunc
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 438
    functionName: VTIM_timespec
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 7
    functionsReached:
    - isnan
    - trunc
    - AZ
    linkageType: ''
    returnType: struct timespec
    signature: struct timespec VTIM_timespec(vtim_dur t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_timeval
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:444,1
    - Dst: isinf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:444,1
    - Dst: vmax
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 445
    functionName: VTIM_timeval_sock
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 3
    functionsReached:
    - VTIM_timeval
    - isinf
    - vmax
    linkageType: ''
    returnType: struct timeval
    signature: struct timeval VTIM_timeval_sock(vtim_dur t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isinf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:451,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:453,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tmo
    argTypes:
    - vtim_dur
    assertStmts:
    - condition: (!isnan(tmo))
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/vinyl-cache/lib/libvinyl/vtim.c
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: VTIM_poll_tmo
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 4
    functionsReached:
    - assert
    - isnan
    - isinf
    linkageType: ''
    returnType: int
    signature: int VTIM_poll_tmo(vtim_dur tmo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:469,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:470,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:471,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:473,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - good
    argTypes:
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: tst
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - printf
    - VTIM_parse
    - VTIM_format
    - exit
    linkageType: ''
    returnType: void
    signature: void tst(const char *s, time_t good)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:490,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:493,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - name
    - begin
    - end
    - ref
    argTypes:
    - char*
    - double
    - double
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 502
    functionName: tst_delta_check
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int tst_delta_check(const char *name, double begin, double end, vtim_dur
      ref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_real
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:512,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:513,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:514,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:515,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:516,1
    - Dst: tst_delta_check
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:518,1
    - Dst: tst_delta_check
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:519,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:522,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 525
    functionName: tst_delta
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - tst_delta_check
    - VTIM_real
    - exit
    - VTIM_mono
    - printf
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: void tst_delta(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:539,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:541,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:542,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:543,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:547,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:549,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:550,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:551,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:555,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:557,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:560,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:561,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:565,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:567,1
    - Dst: floor
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:568,1
    - Dst: floor
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:569,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:572,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 575
    functionName: bench
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - floor
    - VTIM_real
    - VTIM_mono
    - printf
    - snprintf
    linkageType: ''
    returnType: void
    signature: void bench(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:583,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:585,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:586,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:587,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - t
    - s
    argTypes:
    - time_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 590
    functionName: parse_check
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - printf
    - VTIM_parse
    - VTIM_format
    - exit
    linkageType: ''
    returnType: void
    signature: void parse_check(time_t t, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:607,1
    - Dst: setenv
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:607,1
    - Dst: bench
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:609,1
    - Dst: gmtime_r
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:614,1
    - Dst: strftime
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:615,1
    - Dst: VTIM_format
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:616,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:617,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:618,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:620,1
    - Dst: parse_check
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:622,1
    - Dst: strftime
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:624,1
    - Dst: parse_check
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:625,1
    - Dst: strftime
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:627,1
    - Dst: parse_check
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:628,1
    - Dst: strftime
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:631,1
    - Dst: parse_check
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:632,1
    - Dst: tst
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:637,1
    - Dst: tst
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:638,1
    - Dst: tst
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:639,1
    - Dst: tst
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:641,1
    - Dst: tst_delta
      Src: /src/vinyl-cache/lib/libvinyl/vtim.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 646
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtim.c
    functionUses: 1
    functionsReached:
    - VTIM_format
    - bench
    - setenv
    - parse_check
    - tst
    - exit
    - gmtime_r
    - AZ
    - strcmp
    - tst_delta
    - printf
    - strftime
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: VAS_errtxt
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vas.c
    functionUses: 40
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      VAS_errtxt(int e)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:70,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:75,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:79,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:83,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:89,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:90,1
    - Dst: VBT_dump
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:93,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:94,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:95,1
    - Dst: syslog
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - func
    - file
    - line
    - cond
    - kind
    argTypes:
    - char*
    - char*
    - int
    - char*
    - enum vas_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: vas_default
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vas.c
    functionUses: 1
    functionsReached:
    - fprintf
    - bprintf
    - VBT_dump
    - syslog
    - strerror
    linkageType: ''
    returnType: void
    signature: "void vas_default(const char *func, const char *file, int line,\n    const
      char *cond, enum vas_e kind)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VAS_Fail_Func
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:107,1
    - Dst: vas_default
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:109,1
    - Dst: abort
      Src: /src/vinyl-cache/lib/libvinyl/vas.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - func
    - file
    - line
    - cond
    - kind
    argTypes:
    - char*
    - char*
    - int
    - char*
    - enum vas_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: v_noreturn_::VAS_Fail
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vas.c
    functionUses: 1
    functionsReached:
    - VAS_Fail_Func
    - vas_default
    - abort
    linkageType: ''
    returnType: void
    signature: "void v_noreturn_\nVAS_Fail(const char *func, const char *file, int
      line,\n    const char *cond, enum vas_e kind)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:66,1
    - Dst: closefrom
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:69,1
    - Dst: close_range
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:73,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:82,1
    - Dst: getpid
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:82,1
    - Dst: opendir
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:83,1
    - Dst: readdir
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:86,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:89,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:95,1
    - Dst: closedir
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:95,1
    - Dst: sysconf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:99,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:100,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:102,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts:
    - condition: (fd >= 0)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    - condition: (maxfd > 0)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: VSUB_closefrom
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsub.c
    functionUses: 6
    functionsReached:
    - closedir
    - closefrom
    - close
    - getpid
    - bprintf
    - strtoul
    - AZ
    - assert
    - readdir
    - close_range
    - sysconf
    - opendir
    linkageType: ''
    returnType: void
    signature: void VSUB_closefrom(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:113,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - str
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 117
    functionName: vsub_vlu
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsub.c
    functionUses: 0
    functionsReached:
    - VSB_printf
    linkageType: ''
    returnType: int
    signature: int vsub_vlu(void *priv, const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:133,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:134,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:135,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:138,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:139,1
    - Dst: fork
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:140,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:141,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:142,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:143,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:144,1
    - Dst: VFIL_null_fd
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:148,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:149,1
    - Dst: dup2
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:149,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:150,1
    - Dst: dup2
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:150,1
    - Dst: VSUB_closefrom
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:152,1
    - Dst: func
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:153,1
    - Dst: _exit
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:159,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:161,1
    - Dst: VLU_File
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:162,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:163,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:165,1
    - Dst: waitpid
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:168,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:170,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:171,1
    - Dst: WIFEXITED
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:175,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:175,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:177,1
    - Dst: WIFEXITED
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:178,1
    - Dst: WEXITSTATUS
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:179,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:180,1
    - Dst: WIFSIGNALED
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:182,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:184,1
    - Dst: WTERMSIG
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:184,1
    - Dst: WCOREDUMP
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:186,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:187,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:188,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsub.c:189,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 5
    argNames:
    - sb
    - func
    - priv
    - name
    - maxlines
    argTypes:
    - struct vsb*
    - vsub_func_f*
    - void*
    - char*
    - int
    assertStmts:
    - condition: (p[0] > STDERR_FILENO)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    - condition: (p[1] > STDERR_FILENO)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    - condition: (dup2(p[1], STDOUT_FILENO) == STDOUT_FILENO)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    - condition: (dup2(p[1], STDERR_FILENO) == STDERR_FILENO)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    - condition: (rv != -1)
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    constantsTouched: []
    func_position:
      end: 193
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 193
    functionName: VSUB_run
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsub.c
    functionUses: 1
    functionsReached:
    - WIFSIGNALED
    - VSB_printf
    - dup2
    - WEXITSTATUS
    - fork
    - _exit
    - WCOREDUMP
    - WIFEXITED
    - WTERMSIG
    - pipe
    - VSUB_closefrom
    - assert
    - waitpid
    - VFIL_null_fd
    - strerror
    - func
    - VSB_cat
    - VLU_File
    - closefd
    linkageType: ''
    returnType: unsigned
    signature: "unsigned VSUB_run(struct vsb *sb, vsub_func_f *func, void *priv, const
      char *name,\n    int maxlines)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:75,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:89,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:91,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - str
    - addr
    - port
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 102
    functionName: vss_parse
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 2
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: 'char *

      vss_parse(char *str, char **addr, char **port)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vss_parse
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:112,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:118,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:121,1
    - Dst: strtoul
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - str
    - addr
    - port
    - lo
    - hi
    argTypes:
    - char*
    - char**
    - char**
    - unsigned long*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: vss_parse_range
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 1
    functionsReached:
    - strtoul
    - vss_parse
    - strchr
    linkageType: ''
    returnType: char
    signature: "char *\nvss_parse_range(char *str, char **addr, char **port, unsigned
      long *lo,\n    unsigned long *hi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:148,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:149,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:150,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:151,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:154,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:159,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:160,1
    - Dst: vss_parse
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:161,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:163,1
    - Dst: getaddrinfo
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:168,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:169,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:172,1
    - Dst: gai_strerror
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 7
    argNames:
    - addr
    - def_port
    - family
    - socktype
    - flags
    - res
    - errp
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - struct addrinfo**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 177
    functionName: vss_resolve
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 3
    functionsReached:
    - AN
    - VAS_errtxt
    - memset
    - strdup
    - AZ
    - vss_parse
    - getaddrinfo
    - gai_strerror
    - free
    linkageType: ''
    returnType: int
    signature: "int vss_resolve(const char *addr, const char *def_port, int family,
      int socktype,\n    int flags, struct addrinfo **res, const char **errp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:183,1
    - Dst: VSA_Malloc
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:185,1
    - Dst: VSA_Build
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - ai
    argTypes:
    - void*
    - struct addrinfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: vss_alloc_suckaddr
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 2
    functionsReached:
    - VSA_Malloc
    - AN
    - VSA_Build
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      vss_alloc_suckaddr(void *dst, const struct addrinfo *ai)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:205,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:206,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:207,1
    - Dst: vss_resolve
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:209,1
    - Dst: VSA_Malloc
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:215,1
    - Dst: func
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:217,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:218,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - addr
    - def_port
    - func
    - priv
    - errp
    - socktype
    argTypes:
    - char*
    - char*
    - vss_resolved_f*
    - void*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: VSS_resolver_socktype
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 2
    functionsReached:
    - AN
    - VSA_free
    - VSA_Malloc
    - vss_resolve
    - func
    - freeaddrinfo
    linkageType: ''
    returnType: int
    signature: "int VSS_resolver_socktype(const char *addr, const char *def_port,\n
      \   vss_resolved_f *func, void *priv, const char **errp, int socktype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSS_resolver_socktype
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - addr
    - def_port
    - func
    - priv
    - errp
    argTypes:
    - char*
    - char*
    - vss_resolved_f*
    - void*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: VSS_resolver
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 6
    functionsReached:
    - VSS_resolver_socktype
    linkageType: ''
    returnType: int
    signature: "int VSS_resolver(const char *addr, const char *def_port, vss_resolved_f
      *func,\n    void *priv, const char **errp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:244,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:245,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:248,1
    - Dst: vss_parse_range
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:249,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:251,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:257,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:258,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:262,1
    - Dst: sprintf
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:269,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:270,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - addr
    - def_port
    - func
    - priv
    - errp
    argTypes:
    - char*
    - char*
    - vss_resolved_f*
    - void*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 274
    functionName: VSS_resolver_range
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 1
    functionsReached:
    - AN
    - sprintf
    - memcpy
    - strdup
    - VSS_resolver
    - vss_parse_range
    - free
    linkageType: ''
    returnType: int
    signature: "int VSS_resolver_range(const char *addr, const char *def_port, vss_resolved_f
      *func,\n    void *priv, const char **errp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:285,1
    - Dst: vss_resolve
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:286,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:288,1
    - Dst: vss_alloc_suckaddr
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:289,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - dst
    - addr
    - def_port
    - family
    - socktype
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: VSS_ResolveOne
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 6
    functionsReached:
    - AN
    - vss_alloc_suckaddr
    - vss_resolve
    - AZ
    - freeaddrinfo
    linkageType: ''
    returnType: struct suckaddr
    signature: "struct suckaddr *\nVSS_ResolveOne(void *dst, const char *addr, const
      char *def_port,\n    int family, int socktype, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:305,1
    - Dst: vss_resolve
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:306,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:308,1
    - Dst: vss_alloc_suckaddr
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:311,1
    - Dst: freeaddrinfo
      Src: /src/vinyl-cache/lib/libvinyl/vss.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 6
    argNames:
    - dst
    - addr
    - def_port
    - family
    - socktype
    - flags
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: VSS_ResolveFirst
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vss.c
    functionUses: 1
    functionsReached:
    - AN
    - vss_alloc_suckaddr
    - vss_resolve
    - AZ
    - freeaddrinfo
    linkageType: ''
    returnType: struct suckaddr
    signature: "struct suckaddr *\nVSS_ResolveFirst(void *dst, const char *addr, const
      char *def_port,\n    int family, int socktype, int flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pfh
    argTypes:
    - struct vpf_fh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: vpf_verify
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vpf.c
    functionUses: 2
    functionsReached:
    - fstat
    linkageType: ''
    returnType: int
    signature: int vpf_verify(const struct vpf_fh *pfh)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:80,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:84,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:86,1
    - Dst: strtol
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - path
    - pidptr
    argTypes:
    - char*
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: VPF_Read
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vpf.c
    functionUses: 2
    functionsReached:
    - strtol
    - read
    - closefd
    - open
    linkageType: ''
    returnType: int
    signature: int VPF_Read(const char *path, pid_t *pidptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VFL_Open
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:115,1
    - Dst: VPF_Read
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:119,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:130,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:130,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:132,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:133,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - path
    - mode
    - pidptr
    argTypes:
    - char*
    - mode_t
    - pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 142
    functionName: VPF_Open
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vpf.c
    functionUses: 2
    functionsReached:
    - AN
    - malloc
    - strdup
    - AZ
    - VFL_Open
    - VPF_Read
    - fstat
    linkageType: ''
    returnType: struct vpf_fh
    signature: 'struct vpf_fh *

      VPF_Open(const char *path, mode_t mode, pid_t *pidptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpf_verify
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:153,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:159,1
    - Dst: ftruncate
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:159,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:161,1
    - Dst: getpid
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:161,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:162,1
    - Dst: pwrite
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:162,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:162,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pfh
    argTypes:
    - struct vpf_fh*
    assertStmts:
    - condition: "(pwrite(pfh->pf_fd, pidstr, strlen(pidstr), 0) ==\n\t    (ssize_t)strlen(pidstr))"
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/vinyl-cache/lib/libvinyl/vpf.c
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: VPF_Write
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vpf.c
    functionUses: 2
    functionsReached:
    - bprintf
    - getpid
    - AZ
    - assert
    - vpf_verify
    - pwrite
    - ftruncate
    - strlen
    linkageType: ''
    returnType: void
    signature: void VPF_Write(const struct vpf_fh *pfh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vpf_verify
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:169,1
    - Dst: unlink
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:170,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:171,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:173,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vpf.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pfh
    argTypes:
    - struct vpf_fh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: VPF_Remove
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vpf.c
    functionUses: 2
    functionsReached:
    - vpf_verify
    - free
    - unlink
    - closefd
    linkageType: ''
    returnType: void
    signature: void VPF_Remove(struct vpf_fh *pfh)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 103
    functionName: good_rand
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vrnd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t good_rand(uint32_t ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: vrnd_RandomTestable
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vrnd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long vrnd_RandomTestable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: good_rand
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:137,1
    - Dst: vrnd_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: VRND_SeedTestable
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vrnd.c
    functionUses: 3
    functionsReached:
    - vrnd_RandomTestable
    - good_rand
    linkageType: ''
    returnType: void
    signature: void VRND_SeedTestable(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:150,1
    - Dst: VRND_Lock
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:151,1
    - Dst: vrnd_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:153,1
    - Dst: VRND_Unlock
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: VRND_RandomTestable
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vrnd.c
    functionUses: 6
    functionsReached:
    - vrnd_RandomTestable
    - AN
    - VRND_Unlock
    - VRND_Lock
    linkageType: ''
    returnType: long
    signature: long VRND_RandomTestable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldexp
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:162,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:162,1
    - Dst: ldexp
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:163,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: VRND_RandomTestableDouble
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vrnd.c
    functionUses: 0
    functionsReached:
    - VRND_RandomTestable
    - ldexp
    linkageType: ''
    returnType: double
    signature: double VRND_RandomTestableDouble(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:174,1
    - Dst: open
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:175,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:179,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 187
    functionName: VRND_RandomCrypto
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vrnd.c
    functionUses: 6
    functionsReached:
    - AN
    - read
    - closefd
    - open
    linkageType: ''
    returnType: int
    signature: int VRND_RandomCrypto(void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:194,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:194,1
    - Dst: srandom
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:195,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:196,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:196,1
    - Dst: VRND_SeedTestable
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:197,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:198,1
    - Dst: VRND_RandomCrypto
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:198,1
    - Dst: srand48
      Src: /src/vinyl-cache/lib/libvinyl/vrnd.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: VRND_SeedAll
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vrnd.c
    functionUses: 5
    functionsReached:
    - VRND_RandomCrypto
    - srand48
    - VRND_SeedTestable
    - AZ
    - srandom
    linkageType: ''
    returnType: void
    signature: void VRND_SeedAll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:90,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: VCLS_func_close
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - VCLI_SetResult
    linkageType: ''
    returnType: void
    signature: void VCLS_func_close(struct cli *cli, const char *const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:103,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: VCLS_func_ping
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - time
    - VCLI_Out
    linkageType: ''
    returnType: void
    signature: void VCLS_func_ping(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:112,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:113,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: VCLS_func_ping_json
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - VCLI_JSON_begin
    - VCLI_JSON_end
    linkageType: ''
    returnType: void
    signature: void VCLS_func_ping_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:122,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:124,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cli
    - clp
    - av
    argTypes:
    - struct cli*
    - struct cli_proto*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: help_helper
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - VCLI_Out
    - AN
    linkageType: ''
    returnType: void
    signature: void help_helper(struct cli *cli, struct cli_proto *clp, const char
      * const *av)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:138,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:141,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:143,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:146,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:147,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:151,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:154,1
    - Dst: help_helper
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:155,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:158,1
    - Dst: help_helper
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:160,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:164,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 167
    functionName: VCLS_func_help
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VCLI_SetResult
    - VCLI_Out
    - strcmp
    - help_helper
    - strchr
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void VCLS_func_help(struct cli *cli, const char * const *av, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:177,1
    - Dst: VCLI_JSON_begin
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:179,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:180,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:183,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:184,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:185,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:186,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:187,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:188,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:189,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:190,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:191,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:192,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:193,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:194,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:195,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:196,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:197,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:198,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:199,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:200,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:201,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:203,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:204,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:205,1
    - Dst: VCLI_JSON_end
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - cli
    - av
    - priv
    argTypes:
    - struct cli*
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 208
    functionName: VCLS_func_help_json
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 1
    functionsReached:
    - VSB_indent
    - CHECK_OBJ_NOTNULL
    - VCLI_Out
    - VCLI_JSON_end
    - VCLI_JSON_str
    - VCLI_JSON_begin
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void VCLS_func_help_json(struct cli *cli, const char * const *av, void
      *priv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:220,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:221,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:222,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:223,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:225,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:228,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:236,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:240,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:242,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:246,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:247,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:251,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:252,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:257,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:258,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:263,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:264,1
    - Dst: struct cli_proto*::jsonfunc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:271,1
    - Dst: struct cli_proto*::func
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:273,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - cli
    - cs
    - av
    - ac
    argTypes:
    - struct cli*
    - struct VCLS*
    - char**
    - int
    assertStmts:
    - condition: (ac >= 0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    constantsTouched: []
    func_position:
      end: 275
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 275
    functionName: cls_dispatch
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - AN
    - VCLI_SetResult
    - VCLI_Out
    - strcmp
    - assert
    - AZ
    - struct cli_proto*::jsonfunc
    - VSB_clear
    - VTAILQ_FOREACH
    - struct cli_proto*::func
    linkageType: ''
    returnType: void
    signature: void cls_dispatch(struct cli *cli, struct VCLS *cs, char * const *
      av, int ac)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:291,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:293,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:296,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:297,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:300,1
    - Dst: struct VCLS*::before
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:303,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:307,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:308,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:313,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:314,1
    - Dst: islower
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:318,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:319,1
    - Dst: VCLI_SetResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:320,1
    - Dst: cls_dispatch
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:324,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:328,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:328,1
    - Dst: struct VCLS*::after
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:331,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:333,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:334,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:340,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:340,1
    - Dst: VCLI_WriteResult
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:342,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - cfd
    - av
    - ac
    argTypes:
    - struct VCLS_fd*
    - char**
    - int
    assertStmts:
    - condition: (strlen(s) <= lim)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    constantsTouched: []
    func_position:
      end: 354
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 354
    functionName: cls_exec
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - VCLI_WriteResult
    - AN
    - struct VCLS*::before
    - CHECK_OBJ_NOTNULL
    - VCLI_SetResult
    - VSB_finish
    - VSB_data
    - VCLI_Out
    - struct VCLS*::after
    - AZ
    - VSB_len
    - assert
    - islower
    - VSB_clear
    - strlen
    - cls_dispatch
    linkageType: ''
    returnType: int
    signature: int cls_exec(struct VCLS_fd *cfd, char * const *av, int ac)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:363,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:364,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:365,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:368,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:371,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:379,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:380,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:385,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:386,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:390,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:390,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:393,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:396,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:397,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:402,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:408,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:409,1
    - Dst: cls_exec
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:412,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:413,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:414,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:420,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:421,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:422,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:423,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:425,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:425,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:428,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:429,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:431,1
    - Dst: cls_exec
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:432,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:434,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:436,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:437,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:444,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:446,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:448,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 3
    argNames:
    - cfd
    - p
    - e
    argTypes:
    - struct VCLS_fd*
    - char*
    - char*
    assertStmts:
    - condition: (e > p)
      pos:
        line_end: 364
        line_start: 364
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    constantsTouched: []
    func_position:
      end: 453
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 453
    functionName: cls_feed
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - VAV_Parse
    - AN
    - isspace
    - VSB_putc
    - CHECK_OBJ_NOTNULL
    - VAV_Free
    - VSB_finish
    - REPLACE
    - AZ
    - assert
    - VSB_len
    - strcmp
    - cls_exec
    - VSB_bcat
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int cls_feed(struct VCLS_fd *cfd, const char *p, const char *e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:460,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:462,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:463,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:464,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:465,1
    - Dst: VTAILQ_CONCAT
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - model
    argTypes:
    - struct VCLS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 469
    functionName: VCLS_New
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 2
    functionsReached:
    - VTAILQ_INIT
    - AN
    - VTAILQ_CONCAT
    - CHECK_OBJ_ORNULL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct VCLS
    signature: 'struct VCLS *

      VCLS_New(struct VCLS *model)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cs
    - limit
    argTypes:
    - struct VCLS*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: VCLS_SetLimit
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCLS_SetLimit(struct VCLS *cs, volatile unsigned *limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cs
    - before
    - after
    argTypes:
    - struct VCLS*
    - cls_cbc_f*
    - cls_cbc_f*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: VCLS_SetHooks
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCLS_SetHooks(struct VCLS *cs, cls_cbc_f *before, cls_cbc_f *after)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:492,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:493,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:494,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:495,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:496,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:502,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:503,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 5
    argNames:
    - cs
    - fdi
    - fdo
    - closefunc
    - priv
    argTypes:
    - struct VCLS*
    - int
    - int
    - cls_cb_f*
    - void*
    assertStmts:
    - condition: (fdo >= 0)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    - condition: (fdi >= 0)
      pos:
        line_end: 492
        line_start: 492
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    constantsTouched: []
    func_position:
      end: 511
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 511
    functionName: VCLS_AddFd
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_new_auto
    - assert
    - VTAILQ_INSERT_TAIL
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct cli
    signature: 'struct cli *

      VCLS_AddFd(struct VCLS *cs, int fdi, int fdo, cls_cb_f *closefunc, void *priv)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:518,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:519,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:521,1
    - Dst: struct VCLS*::after
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:525,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:526,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:528,1
    - Dst: struct VCLS*::after
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:531,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:532,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:535,1
    - Dst: struct VCLS_fd*::closefunc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:537,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:538,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:540,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:542,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - cs
    - cfd
    argTypes:
    - struct VCLS*
    - struct VCLS_fd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 545
    functionName: cls_close_fd
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - close
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - FREE_OBJ
    - struct VCLS*::after
    - VTAILQ_REMOVE
    - free
    - struct VCLS_fd*::closefunc
    - VSB_destroy
    linkageType: ''
    returnType: int
    signature: int cls_close_fd(struct VCLS *cs, struct VCLS_fd *cfd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:553,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:554,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:558,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:562,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:563,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:569,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:570,1
    - Dst: VTAILQ_INSERT_BEFORE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:572,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - cs
    - auth
    - clp
    argTypes:
    - struct VCLS*
    - unsigned
    - struct cli_proto*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 577
    functionName: VCLS_AddFunc
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 6
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VTAILQ_REMOVE
    - strcmp
    - VTAILQ_INSERT_BEFORE
    - VTAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void VCLS_AddFunc(struct VCLS *cs, unsigned auth, struct cli_proto
      *clp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:587,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:592,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:595,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:604,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:605,1
    - Dst: poll
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:607,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:613,1
    - Dst: cls_feed
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:617,1
    - Dst: cls_close_fd
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:620,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - cs
    - cli
    - timeout
    argTypes:
    - struct VCLS*
    - struct cli*
    - int
    assertStmts:
    - condition: (i == 1)
      pos:
        line_end: 603
        line_start: 603
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    - condition: (cs->nfd > 0)
      pos:
        line_end: 591
        line_start: 591
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    constantsTouched: []
    func_position:
      end: 625
      start: 579
    functionDepth: 4
    functionLinenumber: 579
    functionLinenumberEnd: 625
    functionName: VCLS_Poll
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - cls_close_fd
    - assert
    - poll
    - VTAILQ_FOREACH
    - read
    - cls_feed
    linkageType: ''
    returnType: int
    signature: int VCLS_Poll(struct VCLS *cs, const struct cli *cli, int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:634,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:635,1
    - Dst: cls_close_fd
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:636,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:638,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:639,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:640,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - csp
    argTypes:
    - struct VCLS**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: VCLS_Destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 1
    functionsReached:
    - VTAILQ_FIRST
    - TAKE_OBJ_NOTNULL
    - VTAILQ_EMPTY
    - FREE_OBJ
    - cls_close_fd
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: void
    signature: void VCLS_Destroy(struct VCLS **csp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:653,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - cli
    - fmt
    - ap
    argTypes:
    - struct cli*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 657
    functionName: vcli_outv
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - VSB_len
    - VSB_vprintf
    linkageType: ''
    returnType: void
    signature: void vcli_outv(struct cli *cli, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:665,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:666,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:668,1
    - Dst: vcli_outv
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:669,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cli
    - fmt
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: VCLI_Out
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 72
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - va_start
    - vcli_outv
    - va_end
    linkageType: ''
    returnType: void
    signature: void VCLI_Out(struct cli *cli, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:679,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:680,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:682,1
    - Dst: vcli_outv
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:683,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 687
    functionName: VCLI_VTE_format
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 0
    functionsReached:
    - AN
    - CAST_OBJ_NOTNULL
    - va_start
    - vcli_outv
    - va_end
    linkageType: ''
    returnType: void
    signature: void VCLI_VTE_format(void *priv, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:693,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 698
    functionName: VCLI_Overflow
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 2
    functionsReached:
    - VSB_len
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VCLI_Overflow(struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:705,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:706,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:707,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cli
    - s
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: VCLI_JSON_str
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 7
    functionsReached:
    - VSB_quote
    - VSB_putc
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCLI_JSON_str(struct cli *cli, const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:717,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:718,1
    - Dst: VCLI_JSON_str
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:720,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:722,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:724,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:724,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cli
    - ver
    - av
    argTypes:
    - struct cli*
    - unsigned
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 726
    functionName: VCLI_JSON_begin
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 12
    functionsReached:
    - VSB_indent
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - VCLI_Out
    - VCLI_JSON_str
    linkageType: ''
    returnType: void
    signature: void VCLI_JSON_begin(struct cli *cli, unsigned ver, const char * const
      * av)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_indent
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:731,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:732,1
    - Dst: VCLI_Out
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cli
    argTypes:
    - struct cli*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 734
    functionName: VCLI_JSON_end
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 12
    functionsReached:
    - VSB_indent
    - VCLI_Out
    linkageType: ''
    returnType: void
    signature: void VCLI_JSON_end(struct cli *cli)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:741,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cli
    - s
    argTypes:
    - struct cli*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 743
    functionName: VCLI_Quote
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 1
    functionsReached:
    - VSB_quote
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCLI_Quote(struct cli *cli, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:750,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vcli_serve.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cli
    - res
    argTypes:
    - struct cli*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: VCLI_SetResult
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    functionUses: 42
    functionsReached:
    - printf
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VCLI_SetResult(struct cli *cli, unsigned res)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:65,1
    - Dst: openat
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:76,1
    - Dst: flock
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:79,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:82,1
    - Dst: fstatat
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:86,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:88,1
    - Dst: fstat
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:91,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:94,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:101,1
    - Dst: ftruncate
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:104,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:107,1
    - Dst: fcntl
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:116,1
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 4
    argNames:
    - dirfd
    - path
    - flags
    - ap
    argTypes:
    - int
    - char*
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 125
    functionName: vflopenat
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfl.c
    functionUses: 1
    functionsReached:
    - fstatat
    - close
    - va_arg
    - flock
    - fcntl
    - ftruncate
    - openat
    - fstat
    linkageType: ''
    returnType: int
    signature: int vflopenat(int dirfd, const char *path, int flags, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:133,1
    - Dst: vflopenat
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:134,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinyl/vfl.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - path
    - flags
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: VFL_Open
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vfl.c
    functionUses: 2
    functionsReached:
    - vflopenat
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int VFL_Open(const char *path, int flags, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:47,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:48,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:49,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:49,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:54,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:60,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:67,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:69,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - uds
    - path
    - err
    argTypes:
    - struct sockaddr_un*
    - char*
    - char**
    assertStmts:
    - condition: (VUS_is(path))
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvinyl/vus.c
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: sun_init
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vus.c
    functionUses: 2
    functionsReached:
    - AN
    - bprintf
    - memset
    - strcmp
    - assert
    - VUS_is
    - strlen
    linkageType: ''
    returnType: int
    signature: int sun_init(struct sockaddr_un *uds, const char *path, const char
      **err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:83,1
    - Dst: sun_init
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:85,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:89,1
    - Dst: func
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - path
    - func
    - priv
    - err
    argTypes:
    - char*
    - vus_resolved_f*
    - void*
    - char**
    assertStmts:
    - condition: (uds.sun_path[1] != '\0')
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/lib/libvinyl/vus.c
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: VUS_resolver
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vus.c
    functionUses: 6
    functionsReached:
    - assert
    - func
    - AN
    - sun_init
    linkageType: ''
    returnType: int
    signature: "int VUS_resolver(const char *path, vus_resolved_f *func, void *priv,\n\t
      \    const char **err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VUS_socklen
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:102,1
    - Dst: socket
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:107,1
    - Dst: unlink
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:114,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:118,1
    - Dst: bind
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:123,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - uds
    - errp
    argTypes:
    - struct sockaddr_un*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 132
    functionName: VUS_bind
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vus.c
    functionUses: 3
    functionsReached:
    - unlink
    - VUS_socklen
    - socket
    - bind
    - closefd
    linkageType: ''
    returnType: int
    signature: int VUS_bind(const struct sockaddr_un *uds, const char **errp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sun_init
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:144,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:148,1
    - Dst: VUS_socklen
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:150,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:152,1
    - Dst: socket
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:154,1
    - Dst: VTCP_nonblocking
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:160,1
    - Dst: connect
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:162,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:164,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:168,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:180,1
    - Dst: poll
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:185,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:189,1
    - Dst: VTCP_connected
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - path
    - msec
    argTypes:
    - char*
    - int
    assertStmts:
    - condition: (uds.sun_path[1] != '\0')
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vinyl-cache/lib/libvinyl/vus.c
    - condition: (msec > 0)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/lib/libvinyl/vus.c
    constantsTouched: []
    func_position:
      end: 195
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 195
    functionName: VUS_connect
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vus.c
    functionUses: 1
    functionsReached:
    - AN
    - connect
    - VTCP_connected
    - VTCP_nonblocking
    - assert
    - VUS_socklen
    - poll
    - VTCP_blocking
    - sun_init
    - socket
    - closefd
    linkageType: ''
    returnType: int
    signature: int VUS_connect(const char *path, int msec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:205,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:206,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vus.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - uds
    argTypes:
    - struct sockaddr_un*
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/vinyl-cache/lib/libvinyl/vus.c
    - condition: (sl <= sizeof(*uds))
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/vinyl-cache/lib/libvinyl/vus.c
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: VUS_socklen
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vus.c
    functionUses: 5
    functionsReached:
    - assert
    - strchr
    linkageType: ''
    returnType: socklen_t
    signature: socklen_t VUS_socklen(const struct sockaddr_un *uds)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:53,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:54,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:56,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:57,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:59,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:61,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:62,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:63,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:65,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:65,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:67,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:67,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - n_arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: VIN_n_Arg
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vin.c
    functionUses: 4
    functionsReached:
    - AN
    - VSB_finish
    - strdup
    - AZ
    - VSB_cat
    - VSB_data
    - VSB_new_auto
    - VSB_destroy
    linkageType: ''
    returnType: char
    signature: 'char *

      VIN_n_Arg(const char *n_arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:75,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:77,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:79,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vin.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: VIN_DumpDefaults
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vin.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void VIN_DumpDefaults(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:52,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: vmb_init
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vmb.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void vmb_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:60,1
    - Dst: pthread_once
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:60,1
    - Dst: PTOK
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:62,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:62,1
    - Dst: PTOK
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:63,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/lib/libvinyl/vmb.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: vmb_pthread
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vmb.c
    functionUses: 0
    functionsReached:
    - pthread_once
    - PTOK
    - pthread_mutex_unlock
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void vmb_pthread(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: be32enc_vect
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32enc_vect(dst, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: be32dec_vect
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32dec_vect(dst, src, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32enc
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - unsigned char*
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: be32enc_vect
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached:
    - vbe32enc
    linkageType: ''
    returnType: void
    signature: void be32enc_vect(unsigned char *dst, const uint32_t *src, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vbe32dec
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - uint32_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: be32dec_vect
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached:
    - vbe32dec
    linkageType: ''
    returnType: void
    signature: void be32dec_vect(uint32_t *dst, const unsigned char *src, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: Ch
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: Maj
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: SHR
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHR(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: ROTR
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTR(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: S0
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: S1
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: s0
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: s1
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: RND
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RND(a, b, c, d, e, f, g, h, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - S
    - ','
    - W
    - ','
    - i
    - ','
    - ii
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: RNDr
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RNDr(S, W, i, ii)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - W
    - ','
    - ii
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: MSCH
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSCH(W, ii, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: be32dec_vect
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:175,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:178,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:182,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:183,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:184,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:185,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:186,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:187,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:188,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:189,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:190,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:191,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:192,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:193,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:194,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:195,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:196,1
    - Dst: RNDr
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:197,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:201,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:202,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:203,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:204,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:205,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:206,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:207,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:208,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:209,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:210,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:211,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:212,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:213,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:214,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:215,1
    - Dst: MSCH
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 2
    argNames:
    - state
    - block
    argTypes:
    - uint32_t*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 222
    functionName: VSHA256_Transform
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached:
    - RNDr
    - MSCH
    - be32dec_vect
    - memcpy
    linkageType: ''
    returnType: void
    signature: void VSHA256_Transform(uint32_t * state, const unsigned char block[64])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:243,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:246,1
    - Dst: VSHA256_Transform
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:247,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:250,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:254,1
    - Dst: VSHA256_Transform
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - VSHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 258
    functionName: VSHA256_Pad
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 0
    functionsReached:
    - memset
    - VSHA256_Transform
    - memcpy
    - vbe64enc
    linkageType: ''
    returnType: void
    signature: void VSHA256_Pad(VSHA256_CTX * ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - VSHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: VSHA256_Init
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void VSHA256_Init(VSHA256_CTX * ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:298,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:303,1
    - Dst: VSHA256_Transform
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:304,1
    - Dst: VSHA256_Transform
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:310,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - ctx
    - in
    - len
    argTypes:
    - VSHA256_CTX*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 317
    functionName: VSHA256_Update
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 7
    functionsReached:
    - VSHA256_Transform
    - memcpy
    linkageType: ''
    returnType: void
    signature: void VSHA256_Update(VSHA256_CTX * ctx, const void *in, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSHA256_Pad
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:329,1
    - Dst: be32enc_vect
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:332,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - digest
    - ctx
    argTypes:
    - unsigned char[]
    - VSHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: VSHA256_Final
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 6
    functionsReached:
    - be32enc_vect
    - memset
    - VSHA256_Pad
    linkageType: ''
    returnType: void
    signature: "void VSHA256_Final(unsigned char digest[static VSHA256_DIGEST_LENGTH],\n
      \   VSHA256_CTX *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:370,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:371,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:371,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:372,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:373,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vsha256.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: VSHA256_Test
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsha256.c
    functionUses: 1
    functionsReached:
    - VSHA256_Final
    - VSHA256_Init
    - VSHA256_Update
    - AZ
    - memcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: void VSHA256_Test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: pcre2_set_depth_limit
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pcre2_set_depth_limit(r, d)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:78,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:79,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:80,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:85,1
    - Dst: pcre2_compile
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:90,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:94,1
    - Dst: pcre2_match_context_create
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:97,1
    - Dst: VRE_free
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:100,1
    - Dst: pcre2_jit_compile
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - pattern
    - options
    - errptr
    - erroffset
    - jit
    argTypes:
    - char*
    - unsigned
    - int*
    - int*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 110
    functionName: VRE_compile
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 13
    functionsReached:
    - AN
    - pcre2_jit_compile
    - VRE_free
    - pcre2_compile
    - pcre2_match_context_create
    - ALLOC_OBJ
    linkageType: ''
    returnType: vre_t
    signature: "vre_t *\nVRE_compile(const char *pattern, unsigned options,\n    int
      *errptr, int *erroffset, unsigned jit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:118,1
    - Dst: pcre2_get_error_message
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:119,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:121,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vsb
    - err
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: VRE_error
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 13
    functionsReached:
    - VSB_cat
    - pcre2_get_error_message
    - VSB_printf
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VRE_error(struct vsb *vsb, int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:136,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:138,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - vre_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: VRE_unpack
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 2
    functionsReached:
    - TRUST_ME
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: pcre2_code
    signature: 'pcre2_code *

      VRE_unpack(const vre_t *code)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:148,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:153,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:156,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:157,1
    - Dst: pcre2_set_match_limit
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:157,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:158,1
    - Dst: pcre2_set_depth_limit
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - code
    - lim
    argTypes:
    - vre_t*
    - struct vre_limits*
    assertStmts:
    - condition: (code->re != VRE_PACKED_RE)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/vinyl-cache/lib/libvinyl/vre.c
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: vre_limit
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 3
    functionsReached:
    - pcre2_set_depth_limit
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - pcre2_set_match_limit
    linkageType: ''
    returnType: void
    signature: void vre_limit(const vre_t *code, const volatile struct vre_limits
      *lim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:167,1
    - Dst: VRE_unpack
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:168,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:169,1
    - Dst: pcre2_pattern_info
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:169,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:171,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:175,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - code
    - sz
    argTypes:
    - vre_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: VRE_export
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 1
    functionsReached:
    - pcre2_pattern_info
    - INIT_OBJ
    - malloc
    - CHECK_OBJ_NOTNULL
    - memcpy
    - AZ
    - VRE_unpack
    linkageType: ''
    returnType: vre_t
    signature: 'vre_t *

      VRE_export(const vre_t *code, size_t *sz)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VRE_unpack
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:193,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:199,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:200,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:203,1
    - Dst: pcre2_get_ovector_count
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:204,1
    - Dst: pcre2_match
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:212,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:213,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:214,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:215,1
    - Dst: pcre2_get_ovector_count
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:215,1
    - Dst: pcre2_match_data_free
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 8
    argNames:
    - code
    - subject
    - length
    - offset
    - options
    - groups
    - count
    - datap
    argTypes:
    - vre_t*
    - char*
    - size_t
    - size_t
    - int
    - txt*
    - size_t*
    - pcre2_match_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 235
    functionName: vre_capture
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 3
    functionsReached:
    - pcre2_match_data_free
    - pcre2_get_ovector_count
    - AN
    - pcre2_match_data_create_from_pattern
    - pcre2_match
    - pcre2_get_ovector_pointer
    - vmin_t
    - VRE_unpack
    linkageType: ''
    returnType: int
    signature: "int vre_capture(const vre_t *code, const char *subject, size_t length,\n
      \   size_t offset, int options, txt *groups, size_t *count,\n    pcre2_match_data
      **datap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:242,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:243,1
    - Dst: vre_limit
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:247,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - code
    - subject
    - length
    - options
    - lim
    argTypes:
    - vre_t*
    - char*
    - size_t
    - int
    - struct vre_limits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: VRE_match
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 13
    functionsReached:
    - vre_capture
    - AN
    - CHECK_OBJ_NOTNULL
    - vre_limit
    linkageType: ''
    returnType: int
    signature: "int VRE_match(const vre_t *code, const char *subject, size_t length,\n
      \   int options, const volatile struct vre_limits *lim)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:258,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:259,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:260,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:261,1
    - Dst: vre_limit
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:265,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - code
    - subject
    - length
    - options
    - groups
    - count
    - lim
    argTypes:
    - vre_t*
    - char*
    - size_t
    - int
    - txt*
    - size_t
    - struct vre_limits*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 272
    functionName: VRE_capture
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 0
    functionsReached:
    - vre_capture
    - AN
    - CHECK_OBJ_NOTNULL
    - vre_limit
    linkageType: ''
    returnType: int
    signature: "int VRE_capture(const vre_t *code, const char *subject, size_t length,
      int options,\n    txt *groups, size_t count, const volatile struct vre_limits
      *lim)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:285,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:286,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:287,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:288,1
    - Dst: vre_limit
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:290,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:292,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:296,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:301,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:302,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:306,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:306,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:310,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:310,1
    - Dst: isdigit
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:312,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:317,1
    - Dst: Tlen
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:317,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:321,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:321,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:322,1
    - Dst: vre_capture
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:326,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:330,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:336,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:337,1
    - Dst: pcre2_match_data_free
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:338,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:342,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 6
    argNames:
    - code
    - subject
    - replacement
    - vsb
    - lim
    - all
    argTypes:
    - vre_t*
    - char*
    - char*
    - struct vsb*
    - struct vre_limits*
    - int
    assertStmts:
    - condition: (i > VRE_ERROR_NOMATCH)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vinyl-cache/lib/libvinyl/vre.c
    constantsTouched: []
    func_position:
      end: 344
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 344
    functionName: VRE_sub
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 1
    functionsReached:
    - pcre2_match_data_free
    - AN
    - CHECK_OBJ_NOTNULL
    - vre_limit
    - AZ
    - assert
    - VSB_cat
    - pdiff
    - VSB_bcat
    - isdigit
    - vre_capture
    - Tlen
    linkageType: ''
    returnType: int
    signature: "int VRE_sub(const vre_t *code, const char *subject, const char *replacement,\n
      \   struct vsb *vsb, const volatile struct vre_limits *lim, int all)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:351,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:355,1
    - Dst: pcre2_match_context_free
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:359,1
    - Dst: pcre2_code_free
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:361,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - vv
    argTypes:
    - vre_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 363
    functionName: VRE_free
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 15
    functionsReached:
    - pcre2_match_context_free
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - AZ
    - pcre2_code_free
    linkageType: ''
    returnType: void
    signature: void VRE_free(vre_t **vv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:370,1
    - Dst: strstr
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:373,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:374,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vre.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - vsb
    - src
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: VRE_quote
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vre.c
    functionUses: 0
    functionsReached:
    - strstr
    - VSB_printf
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VRE_quote(struct vsb *vsb, const char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: KASSERT
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KASSERT(e, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: SBMALLOC
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBMALLOC(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: SBFREE
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SBFREE(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: rndup2
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rndup2(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: VSB_ISDYNAMIC
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_ISDYNAMIC(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: VSB_ISDYNSTRUCT
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_ISDYNSTRUCT(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: VSB_HASROOM
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_HASROOM(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: VSB_FREESPACE
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_FREESPACE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: VSB_CANEXTEND
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_CANEXTEND(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: VSB_SETFLAG
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_SETFLAG(s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: VSB_CLEARFLAG
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSB_CLEARFLAG(s, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:87,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:89,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:91,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fun
    - s
    argTypes:
    - char*
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: _assert_VSB_integrity
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 0
    functionsReached:
    - KASSERT
    linkageType: ''
    returnType: void
    signature: void _assert_VSB_integrity(const char *fun, const struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fun
    - s
    - state
    argTypes:
    - char*
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 107
    functionName: _assert_VSB_state
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 0
    functionsReached:
    - KASSERT
    linkageType: ''
    returnType: void
    signature: void _assert_VSB_state(const char *fun, const struct vsb *s, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: assert_VSB_integrity
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_integrity(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: assert_VSB_state
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_state(s, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: assert_VSB_integrity
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_integrity(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: assert_VSB_state
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_VSB_state(s, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rndup2
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:130,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: VSB_extendsize
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 2
    functionsReached:
    - KASSERT
    - rndup2
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VSB_extendsize(ssize_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VSB_CANEXTEND
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:145,1
    - Dst: VSB_extendsize
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:147,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:148,1
    - Dst: realloc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:149,1
    - Dst: SBMALLOC
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:151,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:154,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:155,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - s
    - addlen
    argTypes:
    - struct vsb*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 161
    functionName: VSB_extend
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 4
    functionsReached:
    - VSB_extendsize
    - SBMALLOC
    - VSB_ISDYNAMIC
    - VSB_SETFLAG
    - memcpy
    - realloc
    - VSB_CANEXTEND
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VSB_extend(struct vsb *s, ssize_t addlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:169,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:170,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: _vsb_indent
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 3
    functionsReached:
    - VSB_FREESPACE
    - memset
    - VSB_extend
    linkageType: ''
    returnType: void
    signature: void _vsb_indent(struct vsb *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:187,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:194,1
    - Dst: VSB_extendsize
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:202,1
    - Dst: SBMALLOC
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:204,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - s
    - buf
    - length
    - flags
    argTypes:
    - struct vsb*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 209
    functionName: VSB_newbuf
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 2
    functionsReached:
    - VSB_extendsize
    - SBMALLOC
    - KASSERT
    - VSB_SETFLAG
    - memset
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VSB_newbuf(struct vsb *s, char *buf, int length, int flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:214,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:215,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:217,1
    - Dst: VSB_newbuf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - buf
    - length
    argTypes:
    - struct vsb*
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: VSB_init
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 17
    functionsReached:
    - VSB_newbuf
    - KASSERT
    - AN
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VSB_init(struct vsb *s, void *buf, ssize_t length)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SBMALLOC
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:230,1
    - Dst: VSB_newbuf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:233,1
    - Dst: SBFREE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:234,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: VSB_new_auto
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 117
    functionsReached:
    - SBFREE
    - VSB_newbuf
    - SBMALLOC
    - VSB_SETFLAG
    linkageType: ''
    returnType: struct vsb
    signature: 'struct vsb *

      VSB_new_auto(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:248,1
    - Dst: VSB_CLEARFLAG
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: VSB_clear
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 50
    functionsReached:
    - VSB_CLEARFLAG
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_clear(struct vsb *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:266,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:267,1
    - Dst: _vsb_indent
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:271,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:272,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: VSB_put_byte
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 1
    functionsReached:
    - VSB_FREESPACE
    - assert_VSB_state
    - VSB_extend
    - _vsb_indent
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_put_byte(struct vsb *s, int c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:287,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:288,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:290,1
    - Dst: _vsb_indent
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:295,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:296,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:297,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:297,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - s
    - buf
    - len
    argTypes:
    - struct vsb*
    - void*
    - ssize_t
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 289
        line_start: 289
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    constantsTouched: []
    func_position:
      end: 305
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 305
    functionName: VSB_bcat
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 35
    functionsReached:
    - memcpy
    - VSB_FREESPACE
    - assert_VSB_state
    - _vsb_indent
    - assert
    - VSB_extend
    - assert_VSB_integrity
    linkageType: ''
    returnType: int
    signature: int VSB_bcat(struct vsb *s, const void *buf, ssize_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:316,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:317,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:318,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:324,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:326,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:331,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 333
    functionName: VSB_cat
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 168
    functionsReached:
    - KASSERT
    - assert_VSB_state
    - VSB_bcat
    - strchr
    - assert_VSB_integrity
    - strlen
    linkageType: ''
    returnType: int
    signature: int VSB_cat(struct vsb *s, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:344,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:345,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:347,1
    - Dst: _vsb_indent
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:352,1
    - Dst: va_copy
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:366,1
    - Dst: vsnprintf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:367,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:367,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:369,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:374,1
    - Dst: VSB_extend
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:375,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:375,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:386,1
    - Dst: VSB_FREESPACE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:386,1
    - Dst: VSB_HASROOM
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:387,1
    - Dst: VSB_CANEXTEND
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:387,1
    - Dst: KASSERT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - s
    - fmt
    - ap
    argTypes:
    - struct vsb*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 396
    functionName: VSB_vprintf
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 20
    functionsReached:
    - KASSERT
    - va_copy
    - vsnprintf
    - VSB_HASROOM
    - VSB_FREESPACE
    - assert_VSB_state
    - vmin_t
    - _vsb_indent
    - VSB_extend
    - VSB_CANEXTEND
    - assert_VSB_integrity
    - va_end
    linkageType: ''
    returnType: int
    signature: int VSB_vprintf(struct vsb *s, const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:407,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:408,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - fmt
    argTypes:
    - struct vsb*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 411
    functionName: VSB_printf
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 218
    functionsReached:
    - va_start
    - va_end
    - VSB_vprintf
    linkageType: ''
    returnType: int
    signature: int VSB_printf(struct vsb *s, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_put_byte
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: VSB_putc
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 58
    functionsReached:
    - VSB_put_byte
    linkageType: ''
    returnType: int
    signature: int VSB_putc(struct vsb *s, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: VSB_error
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VSB_error(const struct vsb *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:443,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:444,1
    - Dst: VSB_SETFLAG
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 452
    functionName: VSB_finish
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 137
    functionsReached:
    - VSB_SETFLAG
    - assert_VSB_integrity
    - assert_VSB_state
    linkageType: ''
    returnType: int
    signature: int VSB_finish(struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:461,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: VSB_data
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 144
    functionsReached:
    - assert_VSB_integrity
    - assert_VSB_state
    linkageType: ''
    returnType: char
    signature: 'char *

      VSB_data(const struct vsb *s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 480
    functionName: VSB_len
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 51
    functionsReached:
    - assert_VSB_integrity
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VSB_len(const struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:486,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:487,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:487,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:488,1
    - Dst: VSB_ISDYNSTRUCT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:488,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb*
    assertStmts:
    - condition: (!VSB_ISDYNSTRUCT(s))
      pos:
        line_end: 487
        line_start: 487
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    - condition: (!VSB_ISDYNAMIC(s))
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: VSB_fini
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 15
    functionsReached:
    - VSB_ISDYNAMIC
    - memset
    - VSB_ISDYNSTRUCT
    - assert
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_fini(struct vsb *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:496,1
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:497,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:498,1
    - Dst: VSB_ISDYNAMIC
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:498,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:499,1
    - Dst: VSB_ISDYNSTRUCT
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:499,1
    - Dst: SBFREE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:500,1
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:501,1
    - Dst: SBFREE
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct vsb**
    assertStmts:
    - condition: (VSB_ISDYNAMIC(*s))
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    - condition: (VSB_ISDYNSTRUCT(*s))
      pos:
        line_end: 498
        line_start: 498
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    constantsTouched: []
    func_position:
      end: 504
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 504
    functionName: VSB_destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 129
    functionsReached:
    - SBFREE
    - VSB_ISDYNAMIC
    - AN
    - memset
    - VSB_ISDYNSTRUCT
    - assert
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_destroy(struct vsb **s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:515,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:520,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - s
    - u
    - len
    argTypes:
    - struct vsb*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 525
    functionName: vsb_quote_hex
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 1
    functionsReached:
    - VSB_printf
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vsb_quote_hex(struct vsb *s, const uint8_t *u, size_t len)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:537,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:540,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:545,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:547,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:548,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:549,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:556,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:559,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:561,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:567,1
    - Dst: vsb_quote_hex
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:570,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:572,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:577,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:593,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:595,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:597,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:600,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:607,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:613,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:614,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:619,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:620,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:624,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:626,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:628,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:631,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:635,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:638,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:642,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:644,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:646,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:648,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:650,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:655,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:657,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:659,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 107
    argCount: 5
    argNames:
    - s
    - pfx
    - v
    - len
    - how
    argTypes:
    - struct vsb*
    - char*
    - void*
    - int
    - int
    assertStmts:
    - condition: (p != NULL)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    - condition: (len > 5)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    constantsTouched: []
    func_position:
      end: 660
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 660
    functionName: VSB_quote_pfx
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 5
    functionsReached:
    - VSB_putc
    - vsb_quote_hex
    - VSB_printf
    - AZ
    - assert
    - VSB_cat
    - VSB_bcat
    - strlen
    linkageType: ''
    returnType: void
    signature: void VSB_quote_pfx(struct vsb *s, const char *pfx, const void *v, int
      len, int how)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSB_quote_pfx
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - v
    - len
    - how
    argTypes:
    - struct vsb*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 666
    functionName: VSB_quote
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 26
    functionsReached:
    - VSB_quote_pfx
    linkageType: ''
    returnType: void
    signature: void VSB_quote(struct vsb *s, const void *v, int len, int how)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - struct vsb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: VSB_indent
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 44
    functionsReached:
    - assert_VSB_integrity
    linkageType: ''
    returnType: void
    signature: void VSB_indent(struct vsb *s, int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_VSB_integrity
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:690,1
    - Dst: assert_VSB_state
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:691,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:692,1
    - Dst: write
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:697,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vsb.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - s
    - fd
    argTypes:
    - struct vsb*
    - int
    assertStmts:
    - condition: ((typeof(sz))r <= sz)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    - condition: (s->s_len >= 0)
      pos:
        line_end: 691
        line_start: 691
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
    constantsTouched: []
    func_position:
      end: 705
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 705
    functionName: VSB_tofile
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vsb.c
    functionUses: 11
    functionsReached:
    - assert
    - write
    - assert_VSB_integrity
    - assert_VSB_state
    linkageType: ''
    returnType: int
    signature: int VSB_tofile(const struct vsb *s, int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:284,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:286,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:287,1
    - Dst: vct_isident1
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:289,1
    - Dst: vct_isident
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - b
    - e
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (b < e)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: VCT_invalid_name
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vct.c
    functionUses: 5
    functionsReached:
    - AN
    - assert
    - vct_isident
    - strchr
    - vct_isident1
    linkageType: ''
    returnType: char
    signature: 'char *

      VCT_invalid_name(const char *b, const char *e)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:313,1
    - Dst: setlocale
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:313,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:316,1
    - Dst: vct_iscrlf
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:316,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:319,1
    - Dst: tolower
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:319,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:321,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:322,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:323,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:324,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:325,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:326,1
    - Dst: vct_casecmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:326,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:328,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:328,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:329,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:329,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:331,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:331,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:332,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:332,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:333,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:335,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:335,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:336,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:337,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:337,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:339,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:339,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:340,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:340,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:343,1
    - Dst: vct_caselencmp
      Src: /src/vinyl-cache/lib/libvinyl/vct.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vct_iscrlf(p, p) == 0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_casecmp("AZaz", "azAZ_") < 0)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz", "azAZ_", 4) == 0)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz", "azAZ", 5) == 0)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZay ", "azAZ", 5) < 0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_casecmp("", "") == 0)
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_lowertab[i] == tolower(i))
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz_", "azAZ", 4) == 0)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz1", "azAY1", 4) > 0)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZay1", "azAZ1", 4) < 0)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("A", "B", 0) == 0)
      pos:
        line_end: 342
        line_start: 342
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_casecmp("AZaz", "azAZ") == 0)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_casecmp("AZaz", "azAY") > 0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_casecmp("AZay", "azAZ") < 0)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz1", "azAZ", 5) > 0)
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz1", "azAZ1", 4) == 0)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz ", "azAY", 5) > 0)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_caselencmp("AZaz", "azAZ1", 5) < 0)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    - condition: (vct_casecmp("AZaz_", "azAZ") > 0)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
    constantsTouched: []
    func_position:
      end: 346
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 346
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vct.c
    functionUses: 1
    functionsReached:
    - tolower
    - vct_caselencmp
    - AN
    - setlocale
    - vct_iscrlf
    - assert
    - vct_casecmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - txt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: BAIL
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAIL(txt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:82,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:87,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:93,1
    - Dst: BAIL
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:96,1
    - Dst: BAIL
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:101,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - ipp
    - errtxt
    - sign
    - maxdig
    argTypes:
    - char**
    - char**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 105
    functionName: sf_parse_int
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 3
    functionsReached:
    - AN
    - vct_isows
    - vct_isdigit
    - BAIL
    linkageType: ''
    returnType: int64_t
    signature: int64_t sf_parse_int(const char **ipp, const char **errtxt, int *sign,
      int maxdig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sf_parse_int
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ipp
    - errtxt
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: SF_Parse_Integer
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 1
    functionsReached:
    - sf_parse_int
    linkageType: ''
    returnType: int64_t
    signature: int64_t SF_Parse_Integer(const char **ipp, const char **errtxt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sf_parse_int
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:139,1
    - Dst: BAIL
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:145,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:146,1
    - Dst: BAIL
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:147,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:154,1
    - Dst: BAIL
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:159,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:160,1
    - Dst: BAIL
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:161,1
    - Dst: vct_isdigit
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:162,1
    - Dst: vct_isows
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:165,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - ipp
    - strict
    - errtxt
    argTypes:
    - char**
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 168
    functionName: SF_Parse_Number
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 5
    functionsReached:
    - BAIL
    - vct_isdigit
    - sf_parse_int
    - vct_isows
    linkageType: ''
    returnType: double
    signature: double SF_Parse_Number(const char **ipp, int strict, const char **errtxt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:183,1
    - Dst: BAIL
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ipp
    - strict
    - errtxt
    argTypes:
    - char**
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 189
    functionName: SF_Parse_Decimal
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 2
    functionsReached:
    - SF_Parse_Number
    - BAIL
    linkageType: ''
    returnType: double
    signature: double SF_Parse_Decimal(const char **ipp, int strict, const char **errtxt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:204,1
    - Dst: nan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: VNUM
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 5
    functionsReached:
    - nan
    - SF_Parse_Number
    linkageType: ''
    returnType: double
    signature: double VNUM(const char *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:218,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:220,1
    - Dst: nan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:223,1
    - Dst: nan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:249,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:252,1
    - Dst: nan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:256,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - r
    - b
    - e
    argTypes:
    - vtim_dur
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 259
    functionName: VNUM_duration_unit
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 3
    functionsReached:
    - nan
    - vct_issp
    - strchr
    linkageType: ''
    returnType: vtim_dur
    signature: vtim_dur VNUM_duration_unit(vtim_dur r, const char *b, const char *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:268,1
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:270,1
    - Dst: nan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:273,1
    - Dst: VNUM_duration_unit
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: VNUM_duration
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 4
    functionsReached:
    - nan
    - VNUM_duration_unit
    - SF_Parse_Number
    linkageType: ''
    returnType: vtim_dur
    signature: vtim_dur VNUM_duration(const char *p)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:286,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:287,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:290,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:292,1
    - Dst: modf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:295,1
    - Dst: trunc
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:299,1
    - Dst: exp2
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:307,1
    - Dst: exp2
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:308,1
    - Dst: exp2
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:309,1
    - Dst: exp2
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:310,1
    - Dst: exp2
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:311,1
    - Dst: modf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:313,1
    - Dst: vct_issp
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:327,1
    - Dst: trunc
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:334,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 5
    argNames:
    - r
    - b
    - e
    - rel
    - errtxt
    argTypes:
    - double
    - char*
    - char*
    - uintmax_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 335
    functionName: VNUM_bytes_unit
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 2
    functionsReached:
    - AN
    - trunc
    - vct_issp
    - modf
    - exp2
    - strchr
    linkageType: ''
    returnType: int64_t
    signature: "int64_t VNUM_bytes_unit(double r, const char *b, const char *e, uintmax_t
      rel,\n    const char **errtxt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:346,1
    - Dst: VNUM_bytes_unit
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:352,1
    - Dst: round
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - p
    - r
    - rel
    argTypes:
    - char*
    - uintmax_t*
    - uintmax_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 357
    functionName: VNUM_2bytes
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 8
    functionsReached:
    - round
    - SF_Parse_Number
    - VNUM_bytes_unit
    linkageType: ''
    returnType: char
    signature: 'char *

      VNUM_2bytes(const char *p, uintmax_t *r, uintmax_t rel)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:376,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:377,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:379,1
    - Dst: vct_ishex
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:382,1
    - Dst: vct_ishex
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - b
    - e
    - p
    - base
    argTypes:
    - char*
    - char*
    - char**
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 403
    functionName: vnum_uint
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 2
    functionsReached:
    - vct_ishex
    - AN
    - strchr
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t vnum_uint(const char *b, const char *e, const char **p, unsigned
      base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnum_uint
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - e
    - p
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: VNUM_uint
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 3
    functionsReached:
    - vnum_uint
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VNUM_uint(const char *b, const char *e, const char **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnum_uint
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - b
    - e
    - p
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: VNUM_hex
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 1
    functionsReached:
    - vnum_uint
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t VNUM_hex(const char *b, const char *e, const char **p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:598,1
    - Dst: setbuf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:599,1
    - Dst: sf_parse_int
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:604,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:611,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:614,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:616,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:618,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:620,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:622,1
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:631,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:633,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:634,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:635,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:639,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:642,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:644,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:646,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:648,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:650,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:652,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:654,1
    - Dst: VNUM
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:662,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:664,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:666,1
    - Dst: atof
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:669,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:670,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:671,1
    - Dst: fabs
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:673,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:674,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:682,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:688,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:690,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:692,1
    - Dst: isnan
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:695,1
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:695,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:696,1
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:699,1
    - Dst: fabs
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:701,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:702,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vnum.c:708,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 710
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vnum.c
    functionUses: 1
    functionsReached:
    - setbuf
    - sf_parse_int
    - bprintf
    - VNUM
    - VNUM_duration
    - strcmp
    - isnan
    - VNUM_2bytes
    - printf
    - atof
    - SF_Parse_Number
    - fabs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: VJSN_TYPE_MACRO
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_TYPE_MACRO(UPPER, lower)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - js
    - ','
    - xxx
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: VJSN_EXPECT
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_EXPECT(js, xxx, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:69,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:70,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: vjsn_val_new
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 4
    functionsReached:
    - VTAILQ_INIT
    - AN
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_val_new(const char *type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:81,1
    - Dst: VTAILQ_FIRST
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:83,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:85,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:86,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - jsv
    argTypes:
    - struct vjsn_val*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: vjsn_val_delete
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 5
    functionsReached:
    - VTAILQ_FIRST
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - vjsn_val_delete
    - VTAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: void vjsn_val_delete(struct vjsn_val *jsv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:97,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:99,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:100,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - jp
    argTypes:
    - struct vjsn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: vjsn_delete
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 8
    functionsReached:
    - FREE_OBJ
    - vjsn_val_delete
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: void
    signature: void vjsn_delete(struct vjsn **jp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 126
    functionName: vjsn_skip_ws
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vjsn_skip_ws(struct vjsn *js)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:135,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: vjsn_unumber
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - VJSN_EXPECT
    linkageType: ''
    returnType: unsigned
    signature: unsigned vjsn_unumber(struct vjsn *js)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_unumber
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:160,1
    - Dst: vjsn_unumber
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:169,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - js
    - d
    argTypes:
    - struct vjsn*
    - char**
    assertStmts:
    - condition: (u1 < 0x110000)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/vinyl-cache/lib/libvinyl/vjsn.c
    constantsTouched: []
    func_position:
      end: 198
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 198
    functionName: vjsn_unicode
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - assert
    - vjsn_unumber
    linkageType: ''
    returnType: void
    signature: void vjsn_unicode(struct vjsn *js, char **d)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:205,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:206,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:207,1
    - Dst: vjsn_unicode
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:232,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:241,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - js
    - e
    argTypes:
    - struct vjsn*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 245
    functionName: vjsn_string
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 2
    functionsReached:
    - vjsn_skip_ws
    - AN
    - vjsn_unicode
    - VJSN_EXPECT
    linkageType: ''
    returnType: char
    signature: 'char *

      vjsn_string(struct vjsn *js, char **e)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:253,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:255,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:256,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:258,1
    - Dst: vjsn_string
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:261,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:264,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:265,1
    - Dst: vjsn_value
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:266,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:269,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:272,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:275,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:276,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:279,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 284
    functionName: vjsn_object
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VJSN_EXPECT
    - vjsn_string
    - vjsn_val_delete
    - vjsn_val_new
    - vjsn_skip_ws
    - vjsn_value
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_object(struct vjsn *js)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:291,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:293,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:294,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:296,1
    - Dst: vjsn_value
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:299,1
    - Dst: vjsn_val_delete
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:302,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:305,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:306,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:307,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:310,1
    - Dst: VJSN_EXPECT
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 315
    functionName: vjsn_array
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - AN
    - VTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    - VJSN_EXPECT
    - vjsn_val_delete
    - vjsn_val_new
    - vjsn_skip_ws
    - vjsn_value
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_array(struct vjsn *js)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:322,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:323,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 364
    functionName: vjsn_number
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - vjsn_val_new
    - AN
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_number(struct vjsn *js)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:371,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:372,1
    - Dst: vjsn_object
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:374,1
    - Dst: vjsn_array
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:376,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:378,1
    - Dst: vjsn_string
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:379,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:382,1
    - Dst: strncmp
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:385,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:387,1
    - Dst: strncmp
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:389,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:391,1
    - Dst: strncmp
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:393,1
    - Dst: vjsn_val_new
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:395,1
    - Dst: vjsn_number
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - js
    argTypes:
    - struct vjsn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 401
    functionName: vjsn_value
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 5
    functionsReached:
    - vjsn_array
    - AN
    - vjsn_number
    - vjsn_object
    - vjsn_string
    - AZ
    - vjsn_val_new
    - strncmp
    - vjsn_skip_ws
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_value(struct vjsn *js)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:410,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:412,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:416,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:417,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:421,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:422,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:423,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:427,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:428,1
    - Dst: vjsn_value
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:432,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:435,1
    - Dst: vjsn_skip_ws
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:439,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - from
    - to
    - err
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 446
    functionName: vjsn_parse_end
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - AN
    - malloc
    - memcpy
    - strchr
    - vjsn_skip_ws
    - vjsn_delete
    - ALLOC_OBJ
    - vjsn_value
    linkageType: ''
    returnType: struct vjsn
    signature: 'struct vjsn *

      vjsn_parse_end(const char *from, const char *to, const char **err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_parse_end
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - err
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: vjsn_parse
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 8
    functionsReached:
    - vjsn_parse_end
    linkageType: ''
    returnType: struct vjsn
    signature: 'struct vjsn *

      vjsn_parse(const char *src, const char **err)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:460,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:461,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:462,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vv
    - key
    argTypes:
    - struct vjsn_val*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 467
    functionName: vjsn_child
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 5
    functionsReached:
    - VTAILQ_FOREACH
    - AN
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: struct vjsn_val
    signature: 'struct vjsn_val *

      vjsn_child(const struct vjsn_val *vv, const char *key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:474,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:475,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:477,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:478,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:480,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:481,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:483,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:484,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:485,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:487,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:488,1
    - Dst: vjsn_dump_i
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - jsv
    - fo
    - indent
    argTypes:
    - struct vjsn_val*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 490
    functionName: vjsn_dump_i
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 4
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vjsn_dump_i
    - printf
    - VTAILQ_FOREACH
    - strlen
    linkageType: ''
    returnType: void
    signature: void vjsn_dump_i(const struct vjsn_val *jsv, FILE *fo, int indent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:495,1
    - Dst: vjsn_dump_i
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - jsv
    - fo
    argTypes:
    - struct vjsn_val*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: vjsn_dump_val
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 0
    functionsReached:
    - vjsn_dump_i
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vjsn_dump_val(const struct vjsn_val *jsv, FILE *fo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:503,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:504,1
    - Dst: vjsn_dump_i
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - js
    - fo
    argTypes:
    - struct vjsn*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: vjsn_dump
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 3
    functionsReached:
    - vjsn_dump_i
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vjsn_dump(const struct vjsn *js, FILE *fo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - UPPER
    - ','
    - lower
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: VJSN_TYPE_MACRO
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VJSN_TYPE_MACRO(UPPER, lower)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:933,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:935,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:936,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:938,1
    - Dst: vjsn_dump
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:939,1
    - Dst: vjsn_delete
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - j
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 941
    functionName: test_good
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    - vjsn_parse
    - vjsn_delete
    - vjsn_dump
    - printf
    linkageType: ''
    returnType: void
    signature: void test_good(const char *j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vjsn_parse
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:949,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:951,1
    - Dst: exit
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:952,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - j
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 955
    functionName: test_bad
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - fprintf
    - vjsn_parse
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void test_bad(const char *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_good
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:965,1
    - Dst: test_bad
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:967,1
    - Dst: test_bad
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:973,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vjsn.c:974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 976
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vjsn.c
    functionUses: 1
    functionsReached:
    - printf
    - test_good
    - test_bad
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:64,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:66,1
    - Dst: pdiff
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:68,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:72,1
    - Dst: isdigit
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:98,1
    - Dst: VNUM_hex
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:107,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:109,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 3
    argNames:
    - s
    - e
    - res
    argTypes:
    - char*
    - char*
    - char*
    assertStmts:
    - condition: (*s == '\\')
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvinyl/vav.c
    constantsTouched: []
    func_position:
      end: 120
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 120
    functionName: vav_backslash_txt
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 3
    functionsReached:
    - AN
    - VNUM_hex
    - AZ
    - assert
    - pdiff
    - isdigit
    - strchr
    linkageType: ''
    returnType: int
    signature: int vav_backslash_txt(const char *s, const char *e, char *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vav_backslash_txt
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: VAV_BackSlash
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 1
    functionsReached:
    - vav_backslash_txt
    linkageType: ''
    returnType: int
    signature: int VAV_BackSlash(const char *s, char *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:137,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:138,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:139,1
    - Dst: vav_backslash_txt
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:147,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    assertStmts:
    - condition: (e != NULL)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/vinyl-cache/lib/libvinyl/vav.c
    constantsTouched: []
    func_position:
      end: 158
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 158
    functionName: VAV_BackSlashDecode
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 1
    functionsReached:
    - vav_backslash_txt
    - assert
    - strchr
    - calloc
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      VAV_BackSlashDecode(const char *s, const char *e)'
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:173,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:175,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:180,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:185,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:189,1
    - Dst: vav_backslash_txt
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:217,1
    - Dst: isspace
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:226,1
    - Dst: realloc
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:257,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:258,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:261,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:262,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:263,1
    - Dst: VAV_BackSlashDecode
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:267,1
    - Dst: strdup
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:274,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:275,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (argv != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vinyl-cache/lib/libvinyl/vav.c
    - condition: (argv[nargv] != NULL)
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/vinyl-cache/lib/libvinyl/vav.c
    - condition: (argv[nargv] != NULL)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/lib/libvinyl/vav.c
    - condition: (argv[nargv] != NULL)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/vinyl-cache/lib/libvinyl/vav.c
    constantsTouched: []
    func_position:
      end: 282
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 282
    functionName: VAV_ParseTxt
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 3
    functionsReached:
    - isspace
    - AN
    - malloc
    - memcpy
    - VAV_BackSlashDecode
    - strdup
    - vav_backslash_txt
    - assert
    - strchr
    - realloc
    - calloc
    linkageType: ''
    returnType: char
    signature: 'char **

      VAV_ParseTxt(const char *b, const char *e, int *argc, int flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VAV_ParseTxt
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: VAV_Parse
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 14
    functionsReached:
    - VAV_ParseTxt
    linkageType: ''
    returnType: char
    signature: 'char **

      VAV_Parse(const char *s, int *argc, int flag)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:297,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: VAV_Free
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 13
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void VAV_Free(char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:310,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:312,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: VAV_Print
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void VAV_Print(char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:322,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:323,1
    - Dst: VAV_Print
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: Test
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 4
    functionsReached:
    - printf
    - VAV_Parse
    - VAV_Print
    linkageType: ''
    returnType: void
    signature: void Test(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - info
    - args
    argTypes:
    - FILE*
    - struct printf_info*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: printf_v
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int printf_v(FILE *stream, const struct printf_info *info,\n    const
      void *const *args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - info
    - n
    - argtypes
    - size
    argTypes:
    - struct printf_info*
    - size_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: printf_v_info
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int printf_v_info(const struct printf_info *info, size_t n, int *argtypes,\n
      \   int *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: register_printf_render_std
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:356,1
    - Dst: register_printf_specifier
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:358,1
    - Dst: fgets
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:363,1
    - Dst: Test
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 1
    functionsReached:
    - fgets
    - register_printf_render_std
    - Test
    - register_printf_specifier
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:432,1
    - Dst: VAV_Parse
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:434,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:436,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:437,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:438,1
    - Dst: VAV_ParseTxt
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:439,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:440,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:442,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:447,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:456,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:458,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:468,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 479
    functionName: test_run
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 1
    functionsReached:
    - VAV_Parse
    - AN
    - VAV_ParseTxt
    - malloc
    - memcpy
    - strcmp
    - printf
    - strlen
    - free
    linkageType: ''
    returnType: char
    signature: 'char **

      test_run(const struct test_case *tc, int *ret)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_run
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:491,1
    - Dst: VAV_Free
      Src: /src/vinyl-cache/lib/libvinyl/vav.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 497
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vav.c
    functionUses: 1
    functionsReached:
    - VAV_Free
    - test_run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unw_getcontext
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:67,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:69,1
    - Dst: unw_init_local
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:73,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:75,1
    - Dst: unw_step
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:79,1
    - Dst: unw_get_reg
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:82,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:83,1
    - Dst: unw_get_reg
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:86,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:87,1
    - Dst: unw_get_proc_name
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:90,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:91,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 98
    functionName: vbt_unwind
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbt.c
    functionUses: 1
    functionsReached:
    - unw_get_proc_name
    - VSB_putc
    - unw_init_local
    - unw_get_reg
    - VSB_printf
    - unw_step
    - unw_getcontext
    linkageType: ''
    returnType: int
    signature: int vbt_unwind(struct vsb *vsb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:114,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:116,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:120,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:121,1
    - Dst: backtrace_symbols
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:122,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:124,1
    - Dst: memcmp
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:127,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:127,1
    - Dst: strlen
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:128,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:134,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:136,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 139
    functionName: vbt_execinfo
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbt.c
    functionUses: 1
    functionsReached:
    - bprintf
    - VSB_printf
    - backtrace_symbols
    - VSB_cat
    - memcmp
    - strlen
    - backtrace
    - free
    linkageType: ''
    returnType: void
    signature: void vbt_execinfo(struct vsb *vsb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALID_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:146,1
    - Dst: vbt_unwind
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:149,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:152,1
    - Dst: vbt_execinfo
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - vsb
    argTypes:
    - struct vsb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: VBT_format
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbt.c
    functionUses: 2
    functionsReached:
    - vbt_unwind
    - VSB_cat
    - VALID_OBJ
    - vbt_execinfo
    linkageType: ''
    returnType: void
    signature: void VBT_format(struct vsb *vsb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSB_init
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:166,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:169,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:170,1
    - Dst: VBT_format
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:171,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/lib/libvinyl/vbt.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - len
    - buf
    argTypes:
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: VBT_dump
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbt.c
    functionUses: 3
    functionsReached:
    - VSB_indent
    - VSB_printf
    - VSB_init
    - VBT_format
    linkageType: ''
    returnType: int
    signature: int VBT_dump(size_t len, char buf[len])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:68,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:69,1
    - Dst: getnameinfo
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:70,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:77,1
    - Dst: gai_strerror
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:77,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:79,1
    - Dst: VAS_errtxt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:79,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:81,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - sa
    - l
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - void*
    - socklen_t
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts:
    - condition: (abuf == NULL || alen > 0)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
    - condition: (pbuf == NULL || plen > 0)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: vtcp_sa_to_ascii
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 1
    functionsReached:
    - fprintf
    - VAS_errtxt
    - assert
    - gai_strerror
    - getnameinfo
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void vtcp_sa_to_ascii(const void *sa, socklen_t l, char *abuf, unsigned
      alen,\n    char *pbuf, unsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:97,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:98,1
    - Dst: vtcp_sa_to_ascii
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - addr
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - struct suckaddr*
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: VTCP_name
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 23
    functionsReached:
    - AN
    - VSA_Get_Sockaddr
    - vtcp_sa_to_ascii
    linkageType: ''
    returnType: void
    signature: "void VTCP_name(const struct suckaddr *addr, char *abuf, unsigned alen,\n
      \   char *pbuf, unsigned plen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:109,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:110,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: VTCP_my_suckaddr
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 1
    functionsReached:
    - VSA_getsockname
    - AN
    - malloc
    linkageType: ''
    returnType: struct suckaddr
    signature: 'struct suckaddr *

      VTCP_my_suckaddr(int sock)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_name
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:121,1
    - Dst: VSA_getsockname
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sock
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - int
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: VTCP_myname
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 11
    functionsReached:
    - VSA_getsockname
    - VTCP_name
    linkageType: ''
    returnType: void
    signature: void VTCP_myname(int sock, char *abuf, unsigned alen, char *pbuf, unsigned
      plen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VSA_getpeername
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:133,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:135,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:137,1
    - Dst: snprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - sock
    - abuf
    - alen
    - pbuf
    - plen
    argTypes:
    - int
    - char*
    - unsigned
    - char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: VTCP_hisname
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 4
    functionsReached:
    - snprintf
    - VTCP_name
    - VSA_getpeername
    linkageType: ''
    returnType: void
    signature: void VTCP_hisname(int sock, char *abuf, unsigned alen, char *pbuf,
      unsigned plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:152,1
    - Dst: bprintf
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:153,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: VTCP_filter_http
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 2
    functionsReached:
    - bprintf
    - memset
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_filter_http(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: VTCP_filter_http
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 2
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_filter_http(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: VTCP_filter_http
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VTCP_filter_http(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: VTCP_fastopen
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 1
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_fastopen(int sock, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:221,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: VTCP_blocking
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 12
    functionsReached:
    - VTCP_Assert
    - ioctl
    linkageType: ''
    returnType: void
    signature: void VTCP_blocking(int sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:231,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: VTCP_nonblocking
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 6
    functionsReached:
    - VTCP_Assert
    - ioctl
    linkageType: ''
    returnType: void
    signature: void VTCP_nonblocking(int sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:253,1
    - Dst: getsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:253,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:258,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 264
    functionName: VTCP_connected
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 5
    functionsReached:
    - VTCP_blocking
    - getsockopt
    - closefd
    - AZ
    linkageType: ''
    returnType: int
    signature: int VTCP_connected(int s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:278,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:278,1
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:279,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:280,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:281,1
    - Dst: socket
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:283,1
    - Dst: VTCP_nonblocking
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:289,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:292,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:292,1
    - Dst: connect
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:294,1
    - Dst: VTCP_blocking
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:296,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:300,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:312,1
    - Dst: poll
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:317,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:321,1
    - Dst: VTCP_connected
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - name
    - msec
    argTypes:
    - struct suckaddr*
    - int
    assertStmts:
    - condition: (msec > 0)
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
    constantsTouched: []
    func_position:
      end: 327
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 327
    functionName: VTCP_connect
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 3
    functionsReached:
    - AN
    - connect
    - VTCP_connected
    - VTCP_nonblocking
    - VSA_Sane
    - AZ
    - assert
    - poll
    - setsockopt
    - VTCP_blocking
    - socket
    - VSA_Get_Sockaddr
    - closefd
    linkageType: ''
    returnType: int
    signature: int VTCP_connect(const struct suckaddr *name, int msec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:339,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: VTCP_close
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 19
    functionsReached:
    - VTCP_Assert
    - close
    linkageType: ''
    returnType: void
    signature: void VTCP_close(int *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_timeval_sock
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:348,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:356,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - seconds
    argTypes:
    - int
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: VTCP_set_read_timeout
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 3
    functionsReached:
    - VTCP_Assert
    - VTIM_timeval_sock
    - setsockopt
    linkageType: ''
    returnType: void
    signature: void VTCP_set_read_timeout(int s, vtim_dur seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:377,1
    - Dst: VTCP_connect
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:380,1
    - Dst: floor
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 388
    functionName: vtcp_open_callback
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 0
    functionsReached:
    - VTCP_connect
    - floor
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vtcp_open_callback(void *priv, const struct suckaddr *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:396,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:397,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:398,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:402,1
    - Dst: strerror
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - addr
    - def_port
    - timeout
    - errp
    argTypes:
    - char*
    - char*
    - vtim_dur
    - char**
    assertStmts:
    - condition: (timeout >= 0)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: VTCP_open
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 5
    functionsReached:
    - AN
    - INIT_OBJ
    - strerror
    - assert
    - VSS_resolver
    linkageType: ''
    returnType: int
    signature: "int VTCP_open(const char *addr, const char *def_port, vtim_dur timeout,\n
      \   const char **errp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:428,1
    - Dst: socket
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:429,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:436,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:440,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:448,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:452,1
    - Dst: VSA_Get_Sockaddr
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:457,1
    - Dst: bind
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:458,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:462,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - sa
    - errp
    argTypes:
    - struct suckaddr*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 467
    functionName: VTCP_bind
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 4
    functionsReached:
    - setsockopt
    - socket
    - bind
    - VSA_Get_Sockaddr
    - VSA_Get_Proto
    - closefd
    linkageType: ''
    returnType: int
    signature: int VTCP_bind(const struct suckaddr *sa, const char **errp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_bind
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:482,1
    - Dst: listen
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:484,1
    - Dst: closefd
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - sa
    - depth
    - errp
    argTypes:
    - struct suckaddr*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 494
    functionName: VTCP_listen
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 2
    functionsReached:
    - listen
    - closefd
    - VTCP_bind
    linkageType: ''
    returnType: int
    signature: int VTCP_listen(const struct suckaddr *sa, int depth, const char **errp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTCP_listen
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:509,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: vtcp_lo_cb
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 0
    functionsReached:
    - AN
    - VTCP_listen
    linkageType: ''
    returnType: void
    signature: void vtcp_lo_cb(void *priv, const struct suckaddr *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:525,1
    - Dst: VSS_resolver
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - addr
    - def_port
    - depth
    - errp
    argTypes:
    - char*
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 533
    functionName: VTCP_listen_on
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 9
    functionsReached:
    - VSS_resolver
    - AN
    linkageType: ''
    returnType: int
    signature: "int VTCP_listen_on(const char *addr, const char *def_port, int depth,\n
      \   const char **errp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:545,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:547,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - linger
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: VTCP_linger
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 0
    functionsReached:
    - VTCP_Assert
    - memset
    - setsockopt
    linkageType: ''
    returnType: int
    signature: int VTCP_linger(int sock, int linger)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:561,1
    - Dst: poll
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    assertStmts:
    - condition: (sock > 0)
      pos:
        line_end: 560
        line_start: 560
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
    constantsTouched: []
    func_position:
      end: 569
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 569
    functionName: VTCP_check_hup
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 0
    functionsReached:
    - assert
    - poll
    linkageType: ''
    returnType: int
    signature: int VTCP_check_hup(int sock)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 23
    argCount: 1
    argNames:
    - a
    argTypes:
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 626
    functionName: VTCP_Check
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int VTCP_Check(ssize_t a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:642,1
    - Dst: VTIM_poll_tmo
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:642,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:646,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/lib/libvinyl/vtcp.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - fd
    - ptr
    - len
    - tmo
    argTypes:
    - int
    - void*
    - size_t
    - vtim_dur
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 649
    functionName: VTCP_read
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vtcp.c
    functionUses: 1
    functionsReached:
    - VTCP_Assert
    - read
    - VTIM_poll_tmo
    - poll
    linkageType: ''
    returnType: int
    signature: int VTCP_read(int fd, void *ptr, size_t len, vtim_dur tmo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: ROW
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROW(b, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: A
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: A(b, n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (u != UINT_MAX)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: parent
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 6
    functionsReached:
    - assert
    linkageType: ''
    returnType: unsigned
    signature: unsigned parent(const struct vbh *bh, unsigned u)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:155,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:156,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:158,1
    - Dst: parent
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:158,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:159,1
    - Dst: parent
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - bh
    - u
    - a
    - b
    argTypes:
    - struct vbh*
    - unsigned
    - unsigned*
    - unsigned*
    assertStmts:
    - condition: (*a > 0)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (parent(bh, *b) == u)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (*b > 0)
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (parent(bh, *a) == u)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 162
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 162
    functionName: child
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 27
    functionsReached:
    - assert
    - parent
    linkageType: ''
    returnType: void
    signature: void child(const struct vbh *bh, unsigned u, unsigned *a, unsigned
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: parent
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned parent(const struct vbh *bh, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - bh
    - u
    - a
    - b
    argTypes:
    - struct vbh*
    - unsigned
    - unsigned*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: child
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void child(const struct vbh *bh, unsigned u, unsigned *a, unsigned
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROW
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:194,1
    - Dst: realloc
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:196,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:203,1
    - Dst: ROW
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:203,1
    - Dst: ROW
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:204,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:204,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:205,1
    - Dst: ROW
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts:
    - condition: (bh->array != NULL)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (ROW(bh, bh->length) == NULL)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (ROW(bh, bh->length))
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 207
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 207
    functionName: vbh_addrow
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 2
    functionsReached:
    - assert
    - malloc
    - ROW
    - realloc
    linkageType: ''
    returnType: void
    signature: void vbh_addrow(struct vbh *bh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:215,1
    - Dst: getpagesize
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:220,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:222,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:226,1
    - Dst: calloc
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:236,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:237,1
    - Dst: vbh_addrow
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:238,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - priv
    - cmp_f
    - update_f
    argTypes:
    - void*
    - vbh_cmp_t*
    - vbh_update_t*
    assertStmts:
    - condition: (bh->page_size <= (sizeof(**bh->array) * ROW_WIDTH))
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (bh->array != NULL)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: VBH_new
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 6
    functionsReached:
    - getpagesize
    - vbh_addrow
    - ALLOC_OBJ
    - AZ
    - assert
    - A
    - calloc
    linkageType: ''
    returnType: struct vbh
    signature: 'struct vbh *

      VBH_new(void *priv, vbh_cmp_t *cmp_f, vbh_update_t *update_f)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:250,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:251,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:251,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:254,1
    - Dst: ROW
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:254,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:255,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bhp
    argTypes:
    - struct vbh**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: VBH_destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 3
    functionsReached:
    - VBH_root
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - AZ
    - ROW
    - free
    linkageType: ''
    returnType: void
    signature: void VBH_destroy(struct vbh **bhp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:262,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:263,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:264,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:264,1
    - Dst: struct vbh*::update
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:266,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: vbh_update
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 3
    functionsReached:
    - assert
    - struct vbh*::update
    - CHECK_OBJ_NOTNULL
    - A
    linkageType: ''
    returnType: void
    signature: void vbh_update(const struct vbh *bh, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:274,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:276,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:276,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:277,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:278,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:278,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:279,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:280,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:280,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:281,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:282,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - bh
    - u
    - v
    argTypes:
    - struct vbh*
    - unsigned
    - unsigned
    assertStmts:
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (v < bh->next)
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, v) != NULL)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: binhead_swap
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 2
    functionsReached:
    - assert
    - vbh_update
    - CHECK_OBJ_NOTNULL
    - A
    linkageType: ''
    returnType: void
    signature: void binhead_swap(const struct vbh *bh, unsigned u, unsigned v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:291,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:293,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:293,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:296,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:297,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:297,1
    - Dst: parent
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:298,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:299,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:300,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:301,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:301,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:302,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:302,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:302,1
    - Dst: binhead_swap
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (v < u)
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (v < bh->next)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, v) != NULL)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 308
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 308
    functionName: vbh_trickleup
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 3
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - A
    - assert
    - struct vbh*::cmp
    - binhead_swap
    - parent
    linkageType: ''
    returnType: unsigned
    signature: unsigned vbh_trickleup(const struct vbh *bh, unsigned u)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:315,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:316,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:317,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:317,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:320,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:321,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:321,1
    - Dst: child
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:323,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:324,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:325,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:330,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:330,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:332,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:332,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:333,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:333,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:333,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:337,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:337,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:338,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:338,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:338,1
    - Dst: binhead_swap
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - bh
    - u
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, v2) != NULL)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (v2 > 0)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, v1) != NULL)
      pos:
        line_end: 329
        line_start: 329
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (v1 > 0)
      pos:
        line_end: 322
        line_start: 322
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (v1 < bh->next)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (v1 <= v2)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, v1) != NULL)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: vbh_trickledown
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - child
    - A
    - assert
    - struct vbh*::cmp
    - binhead_swap
    linkageType: ''
    returnType: unsigned
    signature: unsigned vbh_trickledown(const struct vbh *bh, unsigned u)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:350,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:351,1
    - Dst: vbh_addrow
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:353,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:354,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:356,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:357,1
    - Dst: vbh_trickleup
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:358,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:359,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:360,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - bh
    - p
    argTypes:
    - struct vbh*
    - void*
    assertStmts:
    - condition: (bh->length >= bh->next)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (bh->length > bh->next)
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (u < bh->next)
      pos:
        line_end: 358
        line_start: 358
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, u) != NULL)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: VBH_insert
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 8
    functionsReached:
    - vbh_addrow
    - CHECK_OBJ_NOTNULL
    - vbh_update
    - vbh_trickleup
    - A
    - assert
    linkageType: ''
    returnType: void
    signature: void VBH_insert(struct vbh *bh, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parent
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:371,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:372,1
    - Dst: struct vbh*::cmp
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:372,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:372,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: chk
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 3
    functionsReached:
    - struct vbh*::cmp
    - A
    - parent
    - AZ
    linkageType: ''
    returnType: void
    signature: void chk(const struct vbh *bh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:381,1
    - Dst: chk
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:383,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: VBH_root
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 12
    functionsReached:
    - chk
    - CHECK_OBJ_NOTNULL
    - A
    linkageType: ''
    returnType: void
    signature: 'void *

      VBH_root(const struct vbh *bh)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:416,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:417,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:418,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:419,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:420,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:420,1
    - Dst: struct vbh*::update
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:421,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:421,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:423,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:426,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:426,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:427,1
    - Dst: vbh_update
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:428,1
    - Dst: vbh_trickleup
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:429,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:430,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:431,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:432,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:432,1
    - Dst: vbh_trickledown
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:433,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:434,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:435,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:436,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:436,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:444,1
    - Dst: ROW
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:444,1
    - Dst: ROW
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - bh
    - idx
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (idx > 0)
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (bh->next > ROOT_IDX)
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 430
        line_start: 430
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 419
        line_start: 419
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 448
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 448
    functionName: VBH_delete
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 10
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vbh_update
    - vbh_trickleup
    - A
    - assert
    - vbh_trickledown
    - struct vbh*::update
    - ROW
    - free
    linkageType: ''
    returnType: void
    signature: void VBH_delete(struct vbh *bh, unsigned idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:458,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:459,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:460,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:461,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:462,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:462,1
    - Dst: vbh_trickleup
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:463,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:464,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:465,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:466,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:466,1
    - Dst: vbh_trickledown
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:467,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:468,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:469,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:470,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - bh
    - idx
    argTypes:
    - struct vbh*
    - unsigned
    assertStmts:
    - condition: (idx < bh->next)
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 460
        line_start: 460
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (bh->next > ROOT_IDX)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx < bh->next)
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (A(bh, idx) != NULL)
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (idx > 0)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 471
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 471
    functionName: VBH_reorder
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vbh_trickleup
    - A
    - assert
    - vbh_trickledown
    linkageType: ''
    returnType: void
    signature: void VBH_reorder(const struct vbh *bh, unsigned idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:502,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - priv
    - a
    - b
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: cmp
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 300
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cmp(void *priv, const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - priv
    - a
    - u
    argTypes:
    - void*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 515
    functionName: update
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 15
    functionsReached:
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void update(void *priv, void *a, unsigned u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parent
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:525,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:526,1
    - Dst: A
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:527,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bh
    argTypes:
    - struct vbh*
    assertStmts:
    - condition: (fa->key >= fb->key)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 530
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 530
    functionName: chk2
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 1
    functionsReached:
    - assert
    - parent
    - A
    linkageType: ''
    returnType: void
    signature: void chk2(struct vbh *bh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: vrnd_lock
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void vrnd_lock(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VRND_SeedAll
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:545,1
    - Dst: VRND_SeedTestable
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:546,1
    - Dst: VBH_new
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:550,1
    - Dst: child
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:552,1
    - Dst: child
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:553,1
    - Dst: child
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:554,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:562,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:563,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:564,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:567,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:569,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:570,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:571,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:573,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:576,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:577,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:578,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:584,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:585,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:588,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:589,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:590,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:594,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:596,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:598,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:602,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:603,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:604,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:605,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:607,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:609,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:611,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:614,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:616,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:617,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:619,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:620,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:621,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:624,1
    - Dst: VBH_reorder
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:625,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:628,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:629,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:630,1
    - Dst: VBH_insert
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:631,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:632,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:633,1
    - Dst: chk2
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:636,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:639,1
    - Dst: VBH_root
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:641,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:642,1
    - Dst: VBH_delete
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:643,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:644,1
    - Dst: VBH_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:646,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vbh.c:647,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (fp->idx == 1)
      pos:
        line_end: 577
        line_start: 577
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (fp->idx == 1)
      pos:
        line_end: 569
        line_start: 569
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (fp->idx == 1)
      pos:
        line_end: 603
        line_start: 603
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (ff[v]->idx == VBH_NOIDX)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (ff[u] != NULL)
      pos:
        line_end: 563
        line_start: 563
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (fp->key >= lr)
      pos:
        line_end: 604
        line_start: 604
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (fp->key <= lr)
      pos:
        line_end: 583
        line_start: 583
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (fp->key <= lr)
      pos:
        line_end: 570
        line_start: 570
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (ff[n] != NULL)
      pos:
        line_end: 588
        line_start: 588
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - condition: (ff[v] != NULL)
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    constantsTouched: []
    func_position:
      end: 649
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 649
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vbh.c
    functionUses: 1
    functionsReached:
    - chk2
    - VBH_reorder
    - VBH_destroy
    - VRND_SeedTestable
    - VBH_root
    - fprintf
    - AN
    - VBH_new
    - VRND_RandomTestable
    - VBH_delete
    - child
    - FREE_OBJ
    - VBH_insert
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VRND_SeedAll
    - ALLOC_OBJ
    - CHECK_OBJ
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:74,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:75,1
    - Dst: ALLOC_FLEX_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:77,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - maxfields
    - width
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (maxfields > 0)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    - condition: (width > 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: VTE_new
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 4
    functionsReached:
    - assert
    - ALLOC_FLEX_OBJ
    - VSB_new_auto
    - AN
    linkageType: ''
    returnType: struct vte
    signature: 'struct vte *

      VTE_new(int maxfields, int width)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:92,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:93,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:94,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vtep
    argTypes:
    - struct vte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: VTE_destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 4
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    - AN
    - VSB_destroy
    linkageType: ''
    returnType: void
    signature: void VTE_destroy(struct vte **vtep)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:104,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:106,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:107,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:127,1
    - Dst: vmax
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:137,1
    - Dst: vmax
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:138,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - vte
    argTypes:
    - struct vte*
    assertStmts:
    - condition: (len >= vte->c_off)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    - condition: (fno <= vte->f_maxcnt)
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    constantsTouched: []
    func_position:
      end: 150
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 150
    functionName: vte_update
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 0
    functionsReached:
    - VSB_len
    - vmax
    - assert
    - AZ
    linkageType: ''
    returnType: int
    signature: int vte_update(struct vte *vte)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:156,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:157,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:162,1
    - Dst: vte_update
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - vte
    - c
    argTypes:
    - struct vte*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: VTE_putc
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 0
    functionsReached:
    - vte_update
    - AN
    - VSB_putc
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VTE_putc(struct vte *vte, char c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:174,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:175,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:180,1
    - Dst: vte_update
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - vte
    - s
    argTypes:
    - struct vte*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: VTE_cat
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 3
    functionsReached:
    - VSB_cat
    - AN
    - vte_update
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VTE_cat(struct vte *vte, const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:194,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:195,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:200,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:201,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:202,1
    - Dst: vte_update
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - vte
    - fmt
    argTypes:
    - struct vte*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 210
    functionName: VTE_printf
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 5
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - va_start
    - VSB_vprintf
    - vte_update
    - va_end
    linkageType: ''
    returnType: int
    signature: int VTE_printf(struct vte *vte, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:217,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:222,1
    - Dst: vlimit_t
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - vte
    argTypes:
    - struct vte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 235
    functionName: VTE_finish
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 4
    functionsReached:
    - VSB_finish
    - vlimit_t
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VTE_finish(struct vte *vte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - func
    - ','
    - priv
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: VTE_FORMAT
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTE_FORMAT(func, priv, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:248,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:249,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:254,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:255,1
    - Dst: VTE_FORMAT
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - vte
    - func
    - priv
    argTypes:
    - struct vte*
    - VTE_format_f*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: VTE_dump
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 0
    functionsReached:
    - VTE_FORMAT
    - VSB_data
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int VTE_dump(const struct vte *vte, VTE_format_f *func, void *priv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:266,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:267,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:273,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:274,1
    - Dst: VTE_FORMAT
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:283,1
    - Dst: strcspn
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:290,1
    - Dst: strcspn
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:292,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:295,1
    - Dst: VTE_FORMAT
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:297,1
    - Dst: VTE_FORMAT
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:303,1
    - Dst: VTE_FORMAT
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - vte
    - func
    - priv
    argTypes:
    - struct vte*
    - VTE_format_f*
    - void*
    assertStmts:
    - condition: (vte->f_maxsz[fno] + nsp > fsz)
      pos:
        line_end: 294
        line_start: 294
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    constantsTouched: []
    func_position:
      end: 320
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 320
    functionName: VTE_format
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 4
    functionsReached:
    - VTE_FORMAT
    - AN
    - CHECK_OBJ_NOTNULL
    - strcspn
    - assert
    - VSB_data
    linkageType: ''
    returnType: int
    signature: int VTE_format(const struct vte *vte, VTE_format_f *func, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:349,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:350,1
    - Dst: va_start
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:352,1
    - Dst: VSB_vprintf
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:353,1
    - Dst: va_end
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - fmt
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 357
    functionName: test_vsb_format
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 0
    functionsReached:
    - AN
    - CAST_OBJ_NOTNULL
    - va_start
    - VSB_vprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int test_vsb_format(void *priv, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTE_new
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:369,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:370,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:371,1
    - Dst: VTE_cat
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:371,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:372,1
    - Dst: VTE_finish
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:372,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:374,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:375,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:376,1
    - Dst: VTE_format
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:376,1
    - Dst: AZ
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:377,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:377,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:379,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:380,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:381,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:382,1
    - Dst: strcmp
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:384,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:384,1
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:385,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:393,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:397,1
    - Dst: VTE_destroy
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:398,1
    - Dst: printf
      Src: /src/vinyl-cache/lib/libvinyl/vte.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (vte->o_sep == 2)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    - condition: (vte->f_maxsz[2] == 8)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    - condition: (vte->f_maxsz[0] == 4)
      pos:
        line_end: 379
        line_start: 379
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    - condition: (vte->f_maxsz[1] == 3)
      pos:
        line_end: 380
        line_start: 380
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    constantsTouched: []
    func_position:
      end: 402
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 402
    functionName: main
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vte.c
    functionUses: 1
    functionsReached:
    - VTE_new
    - fprintf
    - AN
    - VSB_finish
    - VTE_destroy
    - VTE_format
    - AZ
    - assert
    - strcmp
    - VTE_finish
    - VSB_data
    - VTE_cat
    - VSB_new_auto
    - VSB_destroy
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:63,1
    - Dst: malloc
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:68,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - func
    - priv
    - bufsize
    argTypes:
    - vlu_f*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: VLU_New
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vlu.c
    functionUses: 4
    functionsReached:
    - FREE_OBJ
    - ALLOC_OBJ
    - malloc
    linkageType: ''
    returnType: struct vlu
    signature: 'struct vlu *

      VLU_New(vlu_f *func, void *priv, unsigned bufsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct vlu*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: VLU_Reset
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vlu.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void VLU_Reset(struct vlu *l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:87,1
    - Dst: free
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:88,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lp
    argTypes:
    - struct vlu**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: VLU_Destroy
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vlu.c
    functionUses: 4
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: void
    signature: void VLU_Destroy(struct vlu **lp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct vlu*::func
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:108,1
    - Dst: strchr
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:113,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:114,1
    - Dst: memmove
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct vlu*
    assertStmts:
    - condition: (q != NULL)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vinyl-cache/lib/libvinyl/vlu.c
    constantsTouched: []
    func_position:
      end: 121
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 121
    functionName: LineUpProcess
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vlu.c
    functionUses: 2
    functionsReached:
    - assert
    - memmove
    - struct vlu*::func
    - strchr
    linkageType: ''
    returnType: int
    signature: int LineUpProcess(struct vlu *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:129,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:130,1
    - Dst: read
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:132,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:137,1
    - Dst: LineUpProcess
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - l
    - fd
    argTypes:
    - struct vlu*
    - int
    assertStmts:
    - condition: ((size_t)i <= sz)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/vinyl-cache/lib/libvinyl/vlu.c
    - condition: (l->bufl >= l->bufp)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vinyl-cache/lib/libvinyl/vlu.c
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: VLU_Fd
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vlu.c
    functionUses: 3
    functionsReached:
    - assert
    - read
    - CHECK_OBJ_NOTNULL
    - LineUpProcess
    linkageType: ''
    returnType: int
    signature: int VLU_Fd(struct vlu *l, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VLU_New
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:148,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:149,1
    - Dst: VLU_Fd
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:151,1
    - Dst: VLU_Destroy
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - func
    - priv
    - bufsize
    argTypes:
    - int
    - vlu_f*
    - void*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: VLU_File
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vlu.c
    functionUses: 2
    functionsReached:
    - VLU_Fd
    - AN
    - VLU_Destroy
    - VLU_New
    linkageType: ''
    returnType: int
    signature: int VLU_File(int fd, vlu_f *func, void *priv, unsigned bufsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:164,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:165,1
    - Dst: memcpy
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:170,1
    - Dst: LineUpProcess
      Src: /src/vinyl-cache/lib/libvinyl/vlu.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - l
    - ptr
    - len
    argTypes:
    - struct vlu*
    - char*
    - int
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vinyl-cache/lib/libvinyl/vlu.c
    constantsTouched: []
    func_position:
      end: 179
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 179
    functionName: VLU_Feed
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/vlu.c
    functionUses: 1
    functionsReached:
    - AN
    - memcpy
    - CHECK_OBJ_NOTNULL
    - assert
    - LineUpProcess
    linkageType: ''
    returnType: int
    signature: int VLU_Feed(struct vlu *l, const char *ptr, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/vinyl-cache/lib/libvinyl/version.c:46,1
    - Dst: VCS_String
      Src: /src/vinyl-cache/lib/libvinyl/version.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: VCS_Message
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/version.c
    functionUses: 2
    functionsReached:
    - fprintf
    - VCS_String
    linkageType: ''
    returnType: void
    signature: void VCS_Message(const char *progname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/lib/libvinyl/version.c:52,1
    - Dst: assert
      Src: /src/vinyl-cache/lib/libvinyl/version.c:53,1
    - Dst: WRONG
      Src: /src/vinyl-cache/lib/libvinyl/version.c:84,1
    - Dst: NEEDLESS
      Src: /src/vinyl-cache/lib/libvinyl/version.c:86,1
    - Dst: return
      Src: /src/vinyl-cache/lib/libvinyl/version.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - which
    argTypes:
    - char*
    assertStmts:
    - condition: (which[1] == '\0')
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vinyl-cache/lib/libvinyl/version.c
    constantsTouched: []
    func_position:
      end: 87
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 87
    functionName: VCS_String
    functionSourceFile: /src/vinyl-cache/lib/libvinyl/version.c
    functionUses: 4
    functionsReached:
    - return
    - AN
    - NEEDLESS
    - assert
    - WRONG
    linkageType: ''
    returnType: char
    signature: 'char *

      VCS_String(const char *which)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: FAIL
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: ERR
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: VERR
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERR(ctx, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: ERRNOTUDS
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRNOTUDS(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: FAIL_SUPPORT
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL_SUPPORT(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ERRNOCREDS
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRNOCREDS(ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: ERRNOMEM
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRNOMEM(ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_unix.c:69,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_unix.c:72,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_unix.c:75,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_unix.c:78,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_unix.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: get_sp
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct sess
    signature: 'struct sess *

      get_sp(VRT_CTX)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: NUM_FUNC
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NUM_FUNC(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - func
    - ','
    - type
    - ','
    - get
    - ','
    - id
    - ','
    - fld
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 140
    functionName: NAME_FUNC
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_FUNC(func, type, get, id, fld)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: AENC
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AENC(enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INCOMPL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - v1lp
    - msg
    argTypes:
    - struct req*
    - struct v1l**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: dbg_error
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c
    functionUses: 0
    functionsReached:
    - INCOMPL
    linkageType: ''
    returnType: void
    signature: void dbg_error(struct req *req, struct v1l **v1lp, const char *msg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:66,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:67,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:68,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:71,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:74,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:75,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:76,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:78,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:79,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:81,1
    - Dst: V1L_Open
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:83,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:84,1
    - Dst: dbg_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:88,1
    - Dst: V1L_NoRollback
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:93,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:96,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:98,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:104,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:105,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:106,1
    - Dst: dbg_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:107,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:112,1
    - Dst: dbg_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:113,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:117,1
    - Dst: dbg_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:118,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:122,1
    - Dst: dbg_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:123,1
    - Dst: HTTP1_Write
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:127,1
    - Dst: dbg_deliver_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:130,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:134,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:138,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:140,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:149,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:149,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - req
    - sendbody
    argTypes:
    - struct req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 61
    functionDepth: 10
    functionLinenumber: 61
    functionLinenumberEnd: 151
    functionName: dbg_deliver
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c
    functionUses: 0
    functionsReached:
    - dbg_error
    - V1L_Flush
    - http_GetHdr
    - V1L_Open
    - VDP_Push
    - V1L_NoRollback
    - VSLb
    - http_HdrIs
    - WS_Overflowed
    - AN
    - http_Unset
    - SESS_TMO
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - AZ
    - CHECK_OBJ_ORNULL
    - HTTP1_Write
    - dbg_deliver_finish
    - VCL_Req2Ctx
    - Pool_Task
    - http_SetHeader
    linkageType: ''
    returnType: void
    signature: void dbg_deliver(struct req *req, int sendbody)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:161,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:162,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:165,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:167,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:168,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:169,1
    - Dst: CNT_Embark
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:170,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:173,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:173,1
    - Dst: V1L_Chunked
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:175,1
    - Dst: VDP_DeliverObj
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:176,1
    - Dst: V1L_EndChunk
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:178,1
    - Dst: dbg_deliver_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:179,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 154
    functionDepth: 7
    functionLinenumber: 154
    functionLinenumberEnd: 184
    functionName: dbg_sendbody
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c
    functionUses: 0
    functionsReached:
    - CNT_Embark
    - dbg_deliver_finish
    - AN
    - VDP_DeliverObj
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - V1L_Chunked
    - CAST_OBJ_NOTNULL
    - AZ
    - strcmp
    - THR_SetRequest
    - V1L_EndChunk
    - VSLb
    linkageType: ''
    returnType: void
    signature: void dbg_sendbody(struct worker *wrk, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: V1L_Close
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:192,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:194,1
    - Dst: Req_Fail
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - req
    - v1lp
    - err
    argTypes:
    - struct req*
    - struct v1l**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: dbg_deliver_finish
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c
    functionUses: 2
    functionsReached:
    - VDP_Close
    - V1L_Close
    - Req_Fail
    linkageType: ''
    returnType: void
    signature: void dbg_deliver_finish(struct req *req, struct v1l **v1lp, int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: debug_transport_reembarking_http1_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug_transport_reembarking_http1_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:217,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:219,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:222,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 8
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: debug_transport_reembarking_http1_use
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void debug_transport_reembarking_http1_use(VRT_CTX)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:60,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_std.c:61,1
    - Dst: SES_Get_local_addr
      Src: /src/vinyl-cache/vmod/vmod_std.c:61,1
    - Dst: VSA_Compare
      Src: /src/vinyl-cache/vmod/vmod_std.c:63,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/vmod/vmod_std.c:65,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/vmod/vmod_std.c:68,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/vmod/vmod_std.c:68,1
    - Dst: VTCP_Assert
      Src: /src/vinyl-cache/vmod/vmod_std.c:72,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/vmod/vmod_std.c:72,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/vmod/vmod_std.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tos
    argTypes:
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 78
    functionName: vmod_set_ip_tos
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - AZ
    - VSA_Compare
    - SES_Get_local_addr
    - VTCP_Assert
    - setsockopt
    - INCOMPL
    - VSA_Get_Proto
    linkageType: ''
    returnType: void
    signature: void vmod_set_ip_tos(VRT_CTX, VCL_INT tos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:88,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:89,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_std.c:90,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/vmod/vmod_std.c:91,1
    - Dst: toupper
      Src: /src/vinyl-cache/vmod/vmod_std.c:97,1
    - Dst: tolower
      Src: /src/vinyl-cache/vmod/vmod_std.c:99,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/vmod/vmod_std.c:106,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_std.c:107,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/vmod/vmod_std.c:111,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_std.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - up
    - s
    argTypes:
    - int
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: vmod_updown
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - tolower
    - toupper
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - WS_MarkOverflow
    - WS_Reservation
    linkageType: ''
    returnType: char
    signature: 'char *

      vmod_updown(VRT_CTX, int up, VCL_STRANDS s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:121,1
    - Dst: vmod_updown
      Src: /src/vinyl-cache/vmod/vmod_std.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: vmod_toupper
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - vmod_updown
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_toupper(VRT_CTX, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:129,1
    - Dst: vmod_updown
      Src: /src/vinyl-cache/vmod/vmod_std.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: vmod_tolower
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - vmod_updown
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_tolower(VRT_CTX, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:138,1
    - Dst: VRND_RandomTestableDouble
      Src: /src/vinyl-cache/vmod/vmod_std.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - lo
    - hi
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: vmod_random
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRND_RandomTestableDouble
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_random(VRT_CTX, VCL_REAL lo, VCL_REAL hi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:148,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/vmod/vmod_std.c:151,1
    - Dst: VSLs
      Src: /src/vinyl-cache/vmod/vmod_std.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: vmod_log
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VSLbs
    - VSLs
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_log(VRT_CTX, VCL_STRANDS s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:163,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/vmod/vmod_std.c:164,1
    - Dst: VRT_StrandsWS
      Src: /src/vinyl-cache/vmod/vmod_std.c:165,1
    - Dst: syslog
      Src: /src/vinyl-cache/vmod/vmod_std.c:167,1
    - Dst: WS_Reset
      Src: /src/vinyl-cache/vmod/vmod_std.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fac
    - s
    argTypes:
    - VCL_INT
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: vmod_syslog
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - WS_Snapshot
    - CHECK_OBJ_NOTNULL
    - VRT_StrandsWS
    - syslog
    - WS_Reset
    linkageType: ''
    returnType: void
    signature: void vmod_syslog(VRT_CTX, VCL_INT fac, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:176,1
    - Dst: stat
      Src: /src/vinyl-cache/vmod/vmod_std.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: vmod_file_exists
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - stat
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_file_exists(VRT_CTX, VCL_STRING file_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:185,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std.c:187,1
    - Dst: VRT_selecthttp
      Src: /src/vinyl-cache/vmod/vmod_std.c:190,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std.c:192,1
    - Dst: http_CollectHdrSep
      Src: /src/vinyl-cache/vmod/vmod_std.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hdr
    - sep
    argTypes:
    - VCL_HEADER
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 8
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: vmod_collect
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - http_CollectHdrSep
    - CHECK_OBJ_NOTNULL
    - VRT_selecthttp
    linkageType: ''
    returnType: void
    signature: void vmod_collect(VRT_CTX, VCL_HEADER hdr, VCL_STRING sep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:202,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:203,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_std.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - be
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: vmod_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRT_Healthy
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_healthy(VRT_CTX, VCL_BACKEND be)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:210,1
    - Dst: VSA_Port
      Src: /src/vinyl-cache/vmod/vmod_std.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ip
    argTypes:
    - VCL_IP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: vmod_port
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VSA_Port
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_port(VRT_CTX, VCL_IP ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_Rollback
      Src: /src/vinyl-cache/vmod/vmod_std.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hp
    argTypes:
    - VCL_HTTP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 9
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: vmod_rollback
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRT_Rollback
    linkageType: ''
    returnType: void
    signature: void vmod_rollback(VRT_CTX, VCL_HTTP hp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:226,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:233,1
    - Dst: VSLb_ts_busyobj
      Src: /src/vinyl-cache/vmod/vmod_std.c:234,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/vmod/vmod_std.c:234,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_std.c:237,1
    - Dst: VSLb_ts_req
      Src: /src/vinyl-cache/vmod/vmod_std.c:238,1
    - Dst: VTIM_real
      Src: /src/vinyl-cache/vmod/vmod_std.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - label
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: vmod_timestamp
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VTIM_real
    - VSLb_ts_busyobj
    - VSLb_ts_req
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vmod_timestamp(VRT_CTX, VCL_STRING label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:245,1
    - Dst: vmax_t
      Src: /src/vinyl-cache/vmod/vmod_std.c:246,1
    - Dst: VRT_CacheReqBody
      Src: /src/vinyl-cache/vmod/vmod_std.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - VCL_BYTES
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 12
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: vmod_cache_req_body
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRT_CacheReqBody
    - CHECK_OBJ_NOTNULL
    - vmax_t
    linkageType: ''
    returnType: void
    signature: void vmod_cache_req_body(VRT_CTX, VCL_BYTES size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:255,1
    - Dst: strstr
      Src: /src/vinyl-cache/vmod/vmod_std.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - VCL_STRING
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: vmod_strstr
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - strstr
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_strstr(VRT_CTX, VCL_STRING s1, VCL_STRING s2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:264,1
    - Dst: getenv
      Src: /src/vinyl-cache/vmod/vmod_std.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 268
    functionName: vmod_getenv
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - getenv
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_getenv(VRT_CTX, VCL_STRING name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:273,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_std.c:274,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - late
    argTypes:
    - VCL_BOOL
    assertStmts:
    - condition: (ctx->method == VCL_MET_RECV)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vinyl-cache/vmod/vmod_std.c
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: vmod_late_100_continue
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_late_100_continue(VRT_CTX, VCL_BOOL late)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:284,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_std.c:285,1
    - Dst: round
      Src: /src/vinyl-cache/vmod/vmod_std.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - VCL_REAL
    assertStmts:
    - condition: (ctx->syntax == 40 || ctx->syntax == 41)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/vinyl-cache/vmod/vmod_std.c
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: vmod_syntax
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - assert
    - round
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_syntax(VRT_CTX, VCL_REAL r)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:300,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std.c:302,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std.c:306,1
    - Dst: fnmatch
      Src: /src/vinyl-cache/vmod/vmod_std.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - pattern
    - subject
    - pathname
    - noescape
    - period
    argTypes:
    - VCL_STRING
    - VCL_STRING
    - VCL_BOOL
    - VCL_BOOL
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 8
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: vmod_fnmatch
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - fnmatch
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_fnmatch(VRT_CTX, VCL_STRING pattern, VCL_STRING subject,\n\t
      \    VCL_BOOL pathname, VCL_BOOL noescape, VCL_BOOL period)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:327,1
    - Dst: VRT_ban_string
      Src: /src/vinyl-cache/vmod/vmod_std.c:329,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_std.c:330,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_std.c:336,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std.c:339,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_std.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 322
    functionDepth: 8
    functionLinenumber: 322
    functionLinenumberEnd: 350
    functionName: vmod_ban
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRT_ban_string
    - VRT_priv_task
    - VRT_fail
    - TRUST_ME
    - VRT_priv_task_get
    linkageType: ''
    returnType: void
    signature: void vmod_ban(VRT_CTX, VCL_STRING s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:358,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_std.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: vmod_ban_error
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRT_priv_task_get
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_ban_error(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_real
      Src: /src/vinyl-cache/vmod/vmod_std.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: vmod_now
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VTIM_real
    linkageType: ''
    returnType: void
    signature: void vmod_now(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:383,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/vmod/vmod_std.c:384,1
    - Dst: VRT_call
      Src: /src/vinyl-cache/vmod/vmod_std.c:385,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/vmod/vmod_std.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sub
    argTypes:
    - VCL_SUB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: vmod_timed_call
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - VRT_call
    - CHECK_OBJ_NOTNULL
    - VTIM_mono
    linkageType: ''
    returnType: void
    signature: void vmod_timed_call(VRT_CTX, VCL_SUB sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:395,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:398,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std.c:400,1
    - Dst: RFC2616_Ttl
      Src: /src/vinyl-cache/vmod/vmod_std.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: vmod_rfc_ttl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std.c
    functionUses: 0
    functionsReached:
    - RFC2616_Ttl
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_rfc_ttl(VRT_CTX)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:72,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:73,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:74,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:75,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:77,1
    - Dst: VRT_BACKEND_INIT
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:78,1
    - Dst: VSS_ResolveOne
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:85,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:86,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:87,1
    - Dst: VSA_Get_Proto
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:89,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:92,1
    - Dst: VRT_new_backend
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:94,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:95,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:102,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:102,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:105,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:105,1
    - Dst: VRT_delete_backend
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:108,1
    - Dst: VSA_free
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 5
    argNames:
    - dyn
    - addr
    - port
    - probe
    - via
    argTypes:
    - struct xyzzy_debug_dyn*
    - VCL_STRING
    - VCL_STRING
    - VCL_PROBE
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 111
    functionName: dyn_dir_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - VSA_free
    - pthread_mutex_lock
    - PTOK
    - VSS_ResolveOne
    - WRONG
    - VRT_BACKEND_INIT
    - VRT_new_backend
    - pthread_mutex_unlock
    - CHECK_OBJ_ORNULL
    - XXXAN
    - VRT_delete_backend
    - VSA_Get_Proto
    linkageType: ''
    returnType: void
    signature: "void dyn_dir_init(VRT_CTX, struct xyzzy_debug_dyn *dyn,\n    VCL_STRING
      addr, VCL_STRING port, VCL_PROBE probe, VCL_BACKEND via)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_CLI
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:120,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:121,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:122,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:123,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:124,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:127,1
    - Dst: VRT_handled
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:127,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:128,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:132,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:133,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:134,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:136,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:136,1
    - Dst: dyn_dir_init
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:138,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - dynp
    - vcl_name
    - addr
    - port
    - probe
    - via
    argTypes:
    - struct xyzzy_debug_dyn**
    - char*
    - VCL_STRING
    - VCL_STRING
    - VCL_PROBE
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 113
    functionDepth: 8
    functionLinenumber: 113
    functionLinenumberEnd: 141
    functionName: xyzzy_dyn__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    - AN
    - VRT_handled
    - CHECK_OBJ_NOTNULL
    - dyn_dir_init
    - REPLACE
    - ASSERT_CLI
    - AZ
    - VRT_fail
    - PTOK
    - XXXAN
    - ALLOC_OBJ
    linkageType: ''
    returnType: VCL_VOID
    signature: "VCL_VOID xyzzy_dyn__init(VRT_CTX, struct xyzzy_debug_dyn **dynp,\n
      \   const char *vcl_name, VCL_STRING addr, VCL_STRING port, VCL_PROBE probe,\n
      \   VCL_BACKEND via)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:148,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:150,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:151,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:151,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dynp
    argTypes:
    - struct xyzzy_debug_dyn**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: xyzzy_dyn__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - PTOK
    - free
    linkageType: ''
    returnType: void
    signature: void xyzzy_dyn__fini(struct xyzzy_debug_dyn **dynp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:159,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:160,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:161,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:161,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:163,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:163,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - dyn
    argTypes:
    - struct xyzzy_debug_dyn*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: xyzzy_dyn_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void xyzzy_dyn_backend(VRT_CTX, struct xyzzy_debug_dyn *dyn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:172,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:173,1
    - Dst: dyn_dir_init
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - dyn
    - addr
    - port
    - probe
    - via
    argTypes:
    - struct xyzzy_debug_dyn*
    - VCL_STRING
    - VCL_STRING
    - VCL_PROBE
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 7
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: xyzzy_dyn_refresh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - dyn_dir_init
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: "VCL_VOID xyzzy_dyn_refresh(VRT_CTX, struct xyzzy_debug_dyn *dyn,\n
      \   VCL_STRING addr, VCL_STRING port, VCL_PROBE probe, VCL_BACKEND via)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:186,1
    - Dst: VUS_is
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:189,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:190,1
    - Dst: stat
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:199,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:200,1
    - Dst: strerror
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:200,1
    - Dst: S_ISSOCK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:203,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:204,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:208,1
    - Dst: VRT_BACKEND_INIT
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:209,1
    - Dst: VRT_new_backend
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:218,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:221,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:221,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:224,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:224,1
    - Dst: VRT_delete_backend
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - uds
    - path
    argTypes:
    - struct xyzzy_debug_dyn_uds*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 177
    functionDepth: 8
    functionLinenumber: 177
    functionLinenumberEnd: 229
    functionName: dyn_uds_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - INIT_OBJ
    - stat
    - strerror
    - VRT_fail
    - S_ISSOCK
    - PTOK
    - pthread_mutex_lock
    - VRT_BACKEND_INIT
    - VRT_new_backend
    - pthread_mutex_unlock
    - VUS_is
    - VRT_delete_backend
    linkageType: ''
    returnType: int
    signature: int dyn_uds_init(VRT_CTX, struct xyzzy_debug_dyn_uds *uds, VCL_STRING
      path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:237,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:238,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:239,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:240,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:242,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:243,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:244,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:245,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:245,1
    - Dst: dyn_uds_init
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:247,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:248,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:249,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:249,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - udsp
    - vcl_name
    - path
    argTypes:
    - struct xyzzy_debug_dyn_uds**
    - char*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 232
    functionDepth: 9
    functionLinenumber: 232
    functionLinenumberEnd: 255
    functionName: xyzzy_dyn_uds__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - pthread_mutex_init
    - dyn_uds_init
    - AN
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - REPLACE
    - AZ
    - PTOK
    - ALLOC_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: "void xyzzy_dyn_uds__init(VRT_CTX, struct xyzzy_debug_dyn_uds **udsp,\n
      \   const char *vcl_name, VCL_STRING path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:262,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:263,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:264,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:264,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - udsp
    argTypes:
    - struct xyzzy_debug_dyn_uds**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: xyzzy_dyn_uds__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - PTOK
    - free
    linkageType: ''
    returnType: void
    signature: void xyzzy_dyn_uds__fini(struct xyzzy_debug_dyn_uds **udsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:271,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:272,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - uds
    argTypes:
    - struct xyzzy_debug_dyn_uds*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: xyzzy_dyn_uds_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_dyn_uds_backend(VRT_CTX, struct xyzzy_debug_dyn_uds *uds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:280,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:281,1
    - Dst: dyn_uds_init
      Src: /src/vinyl-cache/vmod/vmod_debug_dyn.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - uds
    - path
    argTypes:
    - struct xyzzy_debug_dyn_uds*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 9
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: xyzzy_dyn_uds_refresh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    functionUses: 0
    functionsReached:
    - dyn_uds_init
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_dyn_uds_refresh(VRT_CTX, struct xyzzy_debug_dyn_uds *uds,
      VCL_STRING path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:78,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:79,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: cobj_free
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void cobj_free(VRT_CTX, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:95,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:96,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:97,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: cobj_get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - AN
    - ALLOC_OBJ
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: struct vmod_cookie
    signature: 'struct vmod_cookie *

      cobj_get(struct vmod_priv *priv)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:109,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:115,1
    - Dst: VTAILQ_EMPTY
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:120,1
    - Dst: vmod_clean
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:121,1
    - Dst: isspace
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:125,1
    - Dst: strchr
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:127,1
    - Dst: strndup
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:130,1
    - Dst: pdiff
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:130,1
    - Dst: strndup
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:136,1
    - Dst: pdiff
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:136,1
    - Dst: vmod_set
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:138,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:139,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:140,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - priv
    - cookieheader
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 148
    functionName: vmod_parse
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - isspace
    - strndup
    - vmod_set
    - VTAILQ_EMPTY
    - cobj_get
    - pdiff
    - strchr
    - vmod_clean
    - free
    - VSLb
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_parse(VRT_CTX, struct vmod_priv *priv, VCL_STRING cookieheader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:155,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:156,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vcp
    - name
    argTypes:
    - struct vmod_cookie*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: find_cookie
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - VTAILQ_FOREACH
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: struct cookie
    signature: 'struct cookie *

      find_cookie(const struct vmod_cookie *vcp, VCL_STRING name)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:166,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:170,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:171,1
    - Dst: find_cookie
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:179,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:181,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:183,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:190,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:194,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:195,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:197,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - priv
    - name
    - value
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 202
    functionName: vmod_set
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - WS_TASK_ALLOC_OBJ
    - cobj_get
    - find_cookie
    - WS_Printf
    - VTAILQ_INSERT_TAIL
    - VSLb
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_set(VRT_CTX, struct vmod_priv *priv, VCL_STRING name,
      VCL_STRING value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:207,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:210,1
    - Dst: find_cookie
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - name
    argTypes:
    - struct vmod_priv*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: vmod_isset
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - cobj_get
    - find_cookie
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL vmod_isset(VRT_CTX, struct vmod_priv *priv, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:221,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:224,1
    - Dst: find_cookie
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - priv
    - name
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: vmod_get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - cobj_get
    - find_cookie
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING vmod_get(VRT_CTX, struct vmod_priv *priv, VCL_STRING name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:236,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:241,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:242,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:244,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:245,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:246,1
    - Dst: VRT_re_match
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - re
    argTypes:
    - struct vmod_priv*
    - VCL_REGEX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 255
    functionName: vmod_get_re
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_re_match
    - CHECK_OBJ_NOTNULL
    - cobj_get
    - VTAILQ_FOREACH
    - VSLb
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING vmod_get_re(VRT_CTX, struct vmod_priv *priv, VCL_REGEX re)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:260,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:263,1
    - Dst: find_cookie
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:267,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - name
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: vmod_delete
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - VTAILQ_REMOVE
    - cobj_get
    - find_cookie
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_delete(VRT_CTX, struct vmod_priv *priv, VCL_STRING name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:276,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:278,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:279,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: vmod_clean
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 1
    functionsReached:
    - VTAILQ_INIT
    - cobj_get
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_clean(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:288,1
    - Dst: VTAILQ_HEAD
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:292,1
    - Dst: VTAILQ_INIT
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:294,1
    - Dst: isspace
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:298,1
    - Dst: malloc
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:315,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:316,1
    - Dst: strndup
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:317,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:318,1
    - Dst: VTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:320,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:329,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:330,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:333,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:334,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:340,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:343,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:344,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:345,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:346,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - priv
    - list_s
    - mode
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    - enum filter_action
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 348
    functionName: filter_cookies
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - VTAILQ_INIT
    - isspace
    - AN
    - strndup
    - malloc
    - CHECK_OBJ_NOTNULL
    - VTAILQ_REMOVE
    - strcmp
    - cobj_get
    - VTAILQ_HEAD
    - VTAILQ_INSERT_TAIL
    - VTAILQ_FOREACH_SAFE
    - VTAILQ_FOREACH
    - free
    linkageType: ''
    returnType: void
    signature: "void filter_cookies(struct vmod_priv *priv, VCL_STRING list_s,\n    enum
      filter_action mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:354,1
    - Dst: filter_cookies
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - whitelist_s
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: vmod_keep
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - filter_cookies
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_keep(VRT_CTX, struct vmod_priv *priv, VCL_STRING whitelist_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:363,1
    - Dst: filter_cookies
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - blacklist_s
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: vmod_filter
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - filter_cookies
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_filter(VRT_CTX, struct vmod_priv *priv, VCL_STRING blacklist_s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:370,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:374,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:375,1
    - Dst: VTAILQ_FOREACH_SAFE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:377,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:378,1
    - Dst: VRT_re_match
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:380,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:386,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:389,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:395,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:398,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - priv
    - re
    - mode
    argTypes:
    - struct vmod_priv*
    - VCL_REGEX
    - enum filter_action
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 404
    functionName: re_filter
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_re_match
    - CHECK_OBJ_NOTNULL
    - cobj_get
    - WRONG
    - VTAILQ_REMOVE
    - VTAILQ_FOREACH_SAFE
    - VSLb
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID re_filter(VRT_CTX, struct vmod_priv *priv, VCL_REGEX re, enum
      filter_action mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:411,1
    - Dst: re_filter
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - re
    argTypes:
    - struct vmod_priv*
    - VCL_REGEX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: vmod_keep_re
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - re_filter
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_keep_re(VRT_CTX, struct vmod_priv *priv, VCL_REGEX re)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:420,1
    - Dst: re_filter
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - priv
    - re
    argTypes:
    - struct vmod_priv*
    - VCL_REGEX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: vmod_filter_re
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - re_filter
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_filter_re(VRT_CTX, struct vmod_priv *priv, VCL_REGEX
      re)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cobj_get
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:430,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:433,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:434,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:435,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:437,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:438,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:439,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:440,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:441,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:444,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: vmod_get_string
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - cobj_get
    - WS_VSB_new
    - VTAILQ_FOREACH
    - WS_VSB_finish
    - VSLb
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING vmod_get_string(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:454,1
    - Dst: VRT_TIME_string
      Src: /src/vinyl-cache/vmod/vmod_cookie.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ts
    - duration
    argTypes:
    - VCL_TIME
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 9
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: vmod_format_date
    functionSourceFile: /src/vinyl-cache/vmod/vmod_cookie.c
    functionUses: 0
    functionsReached:
    - VRT_TIME_string
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING vmod_format_date(VRT_CTX, VCL_TIME ts, VCL_DURATION duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: id_encode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t id_encode_l(size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: id_decode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_id.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t id_decode_l(size_t l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_id.c:61,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_blob_id.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - enc
    - kase
    - buf
    - buflen
    - in
    - inlen
    argTypes:
    - enum encoding
    - enum case_e
    - blob_dest_t
    - blob_len_t
    - blob_src_t
    - blob_len_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: id_encode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_id.c
    functionUses: 0
    functionsReached:
    - AN
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t id_encode(const enum encoding enc, const enum case_e kase,\n
      \   blob_dest_t buf, blob_len_t buflen,\n    blob_src_t in, blob_len_t inlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_id.c:82,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob_id.c:83,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_blob_id.c:92,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_blob_id.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - enc
    - buf
    - buflen
    - n
    - strings
    argTypes:
    - enum encoding
    - blob_dest_t
    - blob_len_t
    - ssize_t
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 105
    functionName: id_decode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_id.c
    functionUses: 0
    functionsReached:
    - AN
    - strlen
    - CHECK_OBJ_NOTNULL
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t id_decode(const enum encoding enc, blob_dest_t buf,\n    blob_len_t
      buflen, ssize_t n, VCL_STRANDS strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:57,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:58,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:59,1
    - Dst: vdir_any_healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dir
    - changed
    argTypes:
    - VCL_BACKEND
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: vmod_fallback_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - vdir_any_healthy
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_fallback_healthy(VRT_CTX, VCL_BACKEND dir, VCL_TIME *changed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:73,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:74,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:75,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:76,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:80,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:81,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:82,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:84,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:85,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:87,1
    - Dst: vdir_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:91,1
    - Dst: vdir_update_health
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:92,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:95,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:97,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:101,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:102,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:103,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:106,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:108,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:111,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:113,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:115,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:116,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:118,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:119,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:121,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:123,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:124,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:125,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:130,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:133,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:134,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:135,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:136,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:137,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:144,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:147,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 4
    argNames:
    - dir
    - vsb
    - pflag
    - jflag
    argTypes:
    - VCL_BACKEND
    - struct vsb*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 148
    functionName: vmod_fallback_list
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - vdir_update_health
    - CHECK_OBJ_NOTNULL
    - vbit_test
    - vdir_rdlock
    - VSB_printf
    - CAST_OBJ_NOTNULL
    - VSB_cat
    - vdir_unlock
    linkageType: ''
    returnType: void
    signature: "void vmod_fallback_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb,
      int pflag,\n    int jflag)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:157,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:158,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:159,1
    - Dst: vdir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:161,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:166,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:167,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 176
    functionName: vmod_fallback_resolve
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRT_Healthy
    - vdir_wrlock
    - CAST_OBJ_NOTNULL
    - vdir_unlock
    linkageType: ''
    returnType: void
    signature: void vmod_fallback_resolve(VRT_CTX, VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:183,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:184,1
    - Dst: vdir_release
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: vmod_fallback_release
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - vdir_release
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_fallback_release(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:193,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:194,1
    - Dst: vdir_delete
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:195,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: vmod_fallback_destroy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - vdir_delete
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_fallback_destroy(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:216,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:217,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:218,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:219,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:220,1
    - Dst: vdir_new
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - fbp
    - vcl_name
    - sticky
    argTypes:
    - struct vmod_directors_fallback**
    - char*
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: vmod_fallback__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - vdir_new
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void vmod_fallback__init(VRT_CTX,\n    struct vmod_directors_fallback
      **fbp, const char *vcl_name, VCL_BOOL sticky)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:231,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fbp
    argTypes:
    - struct vmod_directors_fallback**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: vmod_fallback__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - VRT_DelDirector
    linkageType: ''
    returnType: void
    signature: void vmod_fallback__fini(struct vmod_directors_fallback **fbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:240,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:241,1
    - Dst: vdir_add_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fb
    - be
    argTypes:
    - struct vmod_directors_fallback*
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: vmod_fallback_add_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - vdir_add_backend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_fallback_add_backend(VRT_CTX,\n    struct vmod_directors_fallback
      *fb, VCL_BACKEND be)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:249,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:250,1
    - Dst: vdir_remove_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fb
    - be
    argTypes:
    - struct vmod_directors_fallback*
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: vmod_fallback_remove_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vdir_remove_backend
    linkageType: ''
    returnType: void
    signature: "void vmod_fallback_remove_backend(VRT_CTX,\n    struct vmod_directors_fallback
      *fb, VCL_BACKEND be)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:258,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_fall_back.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fb
    argTypes:
    - struct vmod_directors_fallback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: vmod_fallback_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_fallback_backend(VRT_CTX,\n    struct vmod_directors_fallback
      *fb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:55,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:56,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:57,1
    - Dst: vdir_any_healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dir
    - changed
    argTypes:
    - VCL_BACKEND
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: vmod_random_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - vdir_any_healthy
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_random_healthy(VRT_CTX, VCL_BACKEND dir, VCL_TIME *changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:67,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:68,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:69,1
    - Dst: vdir_list
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - dir
    - vsb
    - pflag
    - jflag
    argTypes:
    - VCL_BACKEND
    - struct vsb*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: vmod_random_list
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - vdir_list
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_random_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int
      pflag,\n    int jflag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:80,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:81,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:82,1
    - Dst: scalbn
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:83,1
    - Dst: VRND_RandomTestable
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:83,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:84,1
    - Dst: vdir_pick_be
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts:
    - condition: (r >= 0 && r < 1.0)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/vinyl-cache/vmod/vmod_directors_random.c
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: vmod_random_resolve
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - VRND_RandomTestable
    - CHECK_OBJ_NOTNULL
    - scalbn
    - assert
    - CAST_OBJ_NOTNULL
    - vdir_pick_be
    linkageType: ''
    returnType: void
    signature: void vmod_random_resolve(VRT_CTX, VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:94,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:95,1
    - Dst: vdir_release
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: vmod_random_release
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - vdir_release
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_random_release(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:104,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:105,1
    - Dst: vdir_delete
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:106,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: vmod_random_destroy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - vdir_delete
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_random_destroy(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:127,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:128,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:129,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:130,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:131,1
    - Dst: vdir_new
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rrp
    - vcl_name
    argTypes:
    - struct vmod_directors_random**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: vmod_random__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - vdir_new
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void vmod_random__init(VRT_CTX, struct vmod_directors_random **rrp,\n
      \   const char *vcl_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:141,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rrp
    argTypes:
    - struct vmod_directors_random**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: vmod_random__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - VRT_DelDirector
    linkageType: ''
    returnType: void
    signature: void vmod_random__fini(struct vmod_directors_random **rrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:150,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:151,1
    - Dst: vdir_add_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rr
    - be
    - w
    argTypes:
    - struct vmod_directors_random*
    - VCL_BACKEND
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: vmod_random_add_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - vdir_add_backend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_random_add_backend(VRT_CTX,\n    struct vmod_directors_random
      *rr, VCL_BACKEND be, double w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:158,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:159,1
    - Dst: vdir_remove_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: v_matchproto_
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vdir_remove_backend
    linkageType: ''
    returnType: void
    signature: void v_matchproto_()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:166,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_random.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rr
    argTypes:
    - struct vmod_directors_random*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: vmod_random_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_random.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_random_backend(VRT_CTX, struct vmod_directors_random *rr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:60,1
    - Dst: VPX_tlv
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: tlv_ssl_flag
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - VPX_tlv
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL tlv_ssl_flag(VRT_CTX, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_ssl_flag
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: vmod_is_ssl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_ssl_flag
    linkageType: ''
    returnType: void
    signature: void vmod_is_ssl(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_ssl_flag
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: vmod_client_has_cert_sess
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_ssl_flag
    linkageType: ''
    returnType: void
    signature: void vmod_client_has_cert_sess(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_ssl_flag
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: vmod_client_has_cert_conn
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_ssl_flag
    linkageType: ''
    returnType: void
    signature: void vmod_client_has_cert_conn(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:92,1
    - Dst: VPX_tlv
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:94,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: vmod_ssl_verify_result
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - vbe32dec
    - VPX_tlv
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_ssl_verify_result(VRT_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:107,1
    - Dst: VPX_tlv
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:109,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:111,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:113,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:116,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - tlv
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 8
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: tlv_string
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - memcpy
    - VPX_tlv
    - WS_Alloc
    - VRT_fail
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING tlv_string(VRT_CTX, int tlv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_string
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 9
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: vmod_alpn
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_string
    linkageType: ''
    returnType: void
    signature: void vmod_alpn(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_string
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 9
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: vmod_authority
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_string
    linkageType: ''
    returnType: void
    signature: void vmod_authority(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_string
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 9
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: vmod_ssl_version
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_string
    linkageType: ''
    returnType: void
    signature: void vmod_ssl_version(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_string
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 9
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: vmod_ssl_cipher
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_string
    linkageType: ''
    returnType: void
    signature: void vmod_ssl_cipher(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_string
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 9
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: vmod_cert_sign
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_string
    linkageType: ''
    returnType: void
    signature: void vmod_cert_sign(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_string
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 9
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: vmod_cert_key
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_string
    linkageType: ''
    returnType: void
    signature: void vmod_cert_key(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlv_string
      Src: /src/vinyl-cache/vmod/vmod_proxy.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 9
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: vmod_client_cert_cn
    functionSourceFile: /src/vinyl-cache/vmod/vmod_proxy.c
    functionUses: 0
    functionsReached:
    - tlv_string
    linkageType: ''
    returnType: void
    signature: void vmod_client_cert_cn(VRT_CTX)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:22,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:24,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:26,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:28,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:30,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:32,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:34,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:36,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:38,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:40,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:42,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:44,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:46,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:48,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:50,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:52,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:54,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:56,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:58,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:60,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:62,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:64,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:66,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_math.c:68,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 1
    argNames:
    - name
    argTypes:
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 69
    functionName: vmod_constant
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - WRONG
    - VENUM
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_constant(VRT_CTX, VCL_ENUM name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:76,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:78,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:80,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:82,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_math.c:84,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_math.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: vmod_fpclass
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - WRONG
    - VENUM
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_fpclass(VRT_CTX, VCL_ENUM name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fpclassify
      Src: /src/vinyl-cache/vmod/vmod_math.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: vmod_fpclassify
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - fpclassify
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_fpclassify(VRT_CTX, VCL_REAL  x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isfinite
      Src: /src/vinyl-cache/vmod/vmod_math.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: vmod_isfinite
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isfinite
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isfinite(VRT_CTX, VCL_REAL  x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isgreater
      Src: /src/vinyl-cache/vmod/vmod_math.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: vmod_isgreater
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isgreater
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isgreater(VRT_CTX, VCL_REAL  x, VCL_REAL  y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isgreaterequal
      Src: /src/vinyl-cache/vmod/vmod_math.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: vmod_isgreaterequal
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isgreaterequal
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isgreaterequal(VRT_CTX, VCL_REAL  x, VCL_REAL  y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isinf
      Src: /src/vinyl-cache/vmod/vmod_math.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: vmod_isinf
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isinf
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isinf(VRT_CTX, VCL_REAL  x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isless
      Src: /src/vinyl-cache/vmod/vmod_math.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: vmod_isless
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isless
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isless(VRT_CTX, VCL_REAL  x, VCL_REAL  y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: islessequal
      Src: /src/vinyl-cache/vmod/vmod_math.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: vmod_islessequal
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - islessequal
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_islessequal(VRT_CTX, VCL_REAL  x, VCL_REAL  y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: islessgreater
      Src: /src/vinyl-cache/vmod/vmod_math.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: vmod_islessgreater
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - islessgreater
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_islessgreater(VRT_CTX, VCL_REAL  x, VCL_REAL  y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/vinyl-cache/vmod/vmod_math.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: vmod_isnan
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isnan(VRT_CTX, VCL_REAL  x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnormal
      Src: /src/vinyl-cache/vmod/vmod_math.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: vmod_isnormal
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isnormal
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isnormal(VRT_CTX, VCL_REAL  x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isunordered
      Src: /src/vinyl-cache/vmod/vmod_math.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: vmod_isunordered
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - isunordered
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_isunordered(VRT_CTX, VCL_REAL  x, VCL_REAL  y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: signbit
      Src: /src/vinyl-cache/vmod/vmod_math.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: vmod_signbit
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - signbit
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_signbit(VRT_CTX, VCL_REAL  x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acos
      Src: /src/vinyl-cache/vmod/vmod_math.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: vmod_acos
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - acos
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_acos(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: acosh
      Src: /src/vinyl-cache/vmod/vmod_math.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: vmod_acosh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - acosh
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_acosh(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asin
      Src: /src/vinyl-cache/vmod/vmod_math.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: vmod_asin
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - asin
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_asin(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asinh
      Src: /src/vinyl-cache/vmod/vmod_math.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: vmod_asinh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - asinh
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_asinh(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/vinyl-cache/vmod/vmod_math.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: vmod_atan
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - atan
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_atan(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/vinyl-cache/vmod/vmod_math.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: vmod_atan2
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - atan2
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_atan2(VRT_CTX, VCL_REAL y, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atanh
      Src: /src/vinyl-cache/vmod/vmod_math.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: vmod_atanh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - atanh
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_atanh(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cbrt
      Src: /src/vinyl-cache/vmod/vmod_math.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: vmod_cbrt
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - cbrt
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_cbrt(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/vinyl-cache/vmod/vmod_math.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: vmod_ceil
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - ceil
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_ceil(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copysign
      Src: /src/vinyl-cache/vmod/vmod_math.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: vmod_copysign
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - copysign
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_copysign(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/vinyl-cache/vmod/vmod_math.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: vmod_cos
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - cos
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_cos(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cosh
      Src: /src/vinyl-cache/vmod/vmod_math.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: vmod_cosh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - cosh
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_cosh(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erf
      Src: /src/vinyl-cache/vmod/vmod_math.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: vmod_erf
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - erf
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_erf(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: erfc
      Src: /src/vinyl-cache/vmod/vmod_math.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: vmod_erfc
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - erfc
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_erfc(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/vinyl-cache/vmod/vmod_math.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: vmod_exp
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_exp(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp2
      Src: /src/vinyl-cache/vmod/vmod_math.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: vmod_exp2
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - exp2
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_exp2(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expm1
      Src: /src/vinyl-cache/vmod/vmod_math.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: vmod_expm1
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - expm1
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_expm1(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/vinyl-cache/vmod/vmod_math.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: vmod_fabs
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_fabs(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fdim
      Src: /src/vinyl-cache/vmod/vmod_math.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: vmod_fdim
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - fdim
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_fdim(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/vinyl-cache/vmod/vmod_math.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: vmod_floor
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_floor(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fma
      Src: /src/vinyl-cache/vmod/vmod_math.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - VCL_REAL
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: vmod_fma
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - fma
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_fma(VRT_CTX, VCL_REAL x, VCL_REAL y, VCL_REAL z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmax
      Src: /src/vinyl-cache/vmod/vmod_math.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: vmod_fmax
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - fmax
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_fmax(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmin
      Src: /src/vinyl-cache/vmod/vmod_math.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: vmod_fmin
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - fmin
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_fmin(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/vinyl-cache/vmod/vmod_math.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: vmod_fmod
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - fmod
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_fmod(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/vinyl-cache/vmod/vmod_math.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 346
    functionName: vmod_hypot
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - hypot
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_hypot(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ilogb
      Src: /src/vinyl-cache/vmod/vmod_math.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: vmod_ilogb
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - ilogb
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_ilogb(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: j0
      Src: /src/vinyl-cache/vmod/vmod_math.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: vmod_j0
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - j0
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_j0(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: j1
      Src: /src/vinyl-cache/vmod/vmod_math.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: vmod_j1
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - j1
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_j1(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jn
      Src: /src/vinyl-cache/vmod/vmod_math.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_INT
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: vmod_jn
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - jn
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_jn(VRT_CTX, VCL_INT x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ldexp
      Src: /src/vinyl-cache/vmod/vmod_math.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - e
    argTypes:
    - VCL_REAL
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: vmod_ldexp
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - ldexp
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_ldexp(VRT_CTX, VCL_REAL x, VCL_INT e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lgamma
      Src: /src/vinyl-cache/vmod/vmod_math.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 388
    functionName: vmod_lgamma
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - lgamma
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_lgamma(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/vinyl-cache/vmod/vmod_math.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: vmod_log
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - log
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_log(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log10
      Src: /src/vinyl-cache/vmod/vmod_math.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: vmod_log10
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - log10
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_log10(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log1p
      Src: /src/vinyl-cache/vmod/vmod_math.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: vmod_log1p
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - log1p
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_log1p(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log2
      Src: /src/vinyl-cache/vmod/vmod_math.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: vmod_log2
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - log2
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_log2(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logb
      Src: /src/vinyl-cache/vmod/vmod_math.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: vmod_logb
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - logb
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_logb(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lrint
      Src: /src/vinyl-cache/vmod/vmod_math.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: vmod_lrint
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - lrint
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_lrint(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lround
      Src: /src/vinyl-cache/vmod/vmod_math.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: vmod_lround
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - lround
    linkageType: ''
    returnType: VCL_INT
    signature: VCL_INT vmod_lround(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nan
      Src: /src/vinyl-cache/vmod/vmod_math.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tag
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: vmod_nan
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - nan
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_nan(VRT_CTX, VCL_STRING tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nearbyint
      Src: /src/vinyl-cache/vmod/vmod_math.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: vmod_nearbyint
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - nearbyint
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_nearbyint(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nextafter
      Src: /src/vinyl-cache/vmod/vmod_math.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: vmod_nextafter
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - nextafter
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_nextafter(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/vinyl-cache/vmod/vmod_math.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: vmod_pow
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_pow(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remainder
      Src: /src/vinyl-cache/vmod/vmod_math.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: vmod_remainder
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - remainder
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_remainder(VRT_CTX, VCL_REAL x, VCL_REAL y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rint
      Src: /src/vinyl-cache/vmod/vmod_math.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: vmod_rint
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - rint
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_rint(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round
      Src: /src/vinyl-cache/vmod/vmod_math.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: vmod_round
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - round
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_round(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalbln
      Src: /src/vinyl-cache/vmod/vmod_math.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - e
    argTypes:
    - VCL_REAL
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: vmod_scalbln
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - scalbln
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_scalbln(VRT_CTX, VCL_REAL x, VCL_INT e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scalbn
      Src: /src/vinyl-cache/vmod/vmod_math.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - VCL_REAL
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: vmod_scalbn
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - scalbn
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_scalbn(VRT_CTX, VCL_REAL x, VCL_INT y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/vinyl-cache/vmod/vmod_math.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 507
    functionName: vmod_sin
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - sin
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_sin(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sinh
      Src: /src/vinyl-cache/vmod/vmod_math.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: vmod_sinh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - sinh
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_sinh(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/vinyl-cache/vmod/vmod_math.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: vmod_sqrt
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_sqrt(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/vinyl-cache/vmod/vmod_math.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 528
    functionName: vmod_tan
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - tan
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_tan(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tanh
      Src: /src/vinyl-cache/vmod/vmod_math.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: vmod_tanh
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - tanh
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_tanh(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tgamma
      Src: /src/vinyl-cache/vmod/vmod_math.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: vmod_tgamma
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - tgamma
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_tgamma(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trunc
      Src: /src/vinyl-cache/vmod/vmod_math.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: vmod_trunc
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - trunc
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_trunc(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: y0
      Src: /src/vinyl-cache/vmod/vmod_math.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: vmod_y0
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - y0
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_y0(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: y1
      Src: /src/vinyl-cache/vmod/vmod_math.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: vmod_y1
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - y1
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_y1(VRT_CTX, VCL_REAL x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: yn
      Src: /src/vinyl-cache/vmod/vmod_math.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - x
    argTypes:
    - VCL_INT
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: vmod_yn
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math.c
    functionUses: 0
    functionsReached:
    - yn
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_yn(VRT_CTX, VCL_INT n, VCL_REAL x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:60,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:61,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:62,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:64,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:65,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:67,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:68,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - op
    - vcl_name
    - s
    - e
    argTypes:
    - struct xyzzy_debug_obj**
    - char*
    - VCL_STRING
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: xyzzy_obj__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - strcmp
    - VRT_fail
    - AZ
    - ALLOC_OBJ
    linkageType: ''
    returnType: VCL_VOID
    signature: "VCL_VOID xyzzy_obj__init(VRT_CTX, struct xyzzy_debug_obj **op,\n    const
      char *vcl_name, VCL_STRING s, VCL_ENUM e)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:82,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - op
    argTypes:
    - struct xyzzy_debug_obj**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: xyzzy_obj__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj__fini(struct xyzzy_debug_obj **op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:90,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:91,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:92,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - o
    - e
    argTypes:
    - struct xyzzy_debug_obj*
    - VCL_ENUM
    assertStmts:
    - condition: (!strcmp(e, "martin"))
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: xyzzy_obj_enum
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_enum(VRT_CTX, struct xyzzy_debug_obj *o, VCL_ENUM e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:99,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct xyzzy_debug_obj*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: xyzzy_obj_obj
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_obj(VRT_CTX, struct xyzzy_debug_obj *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:107,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:109,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - o
    - s
    argTypes:
    - struct xyzzy_debug_obj*
    - VCL_STRING
    assertStmts:
    - condition: (o->foobar == 42)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: xyzzy_obj_foo
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_foo(VRT_CTX, struct xyzzy_debug_obj *o, VCL_STRING s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:118,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:119,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct xyzzy_debug_obj*
    assertStmts:
    - condition: (o->foobar == 42)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: xyzzy_obj_date
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_date(VRT_CTX, struct xyzzy_debug_obj *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:128,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:129,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct xyzzy_debug_obj*
    assertStmts:
    - condition: (o->foobar == 42)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: xyzzy_obj_string
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_string(VRT_CTX, struct xyzzy_debug_obj *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:138,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:139,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct xyzzy_debug_obj*
    assertStmts:
    - condition: (o->foobar == 42)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: xyzzy_obj_number
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_number(VRT_CTX, struct xyzzy_debug_obj *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xyzzy_test_priv_call
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - o
    - priv
    argTypes:
    - struct xyzzy_debug_obj*
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: xyzzy_obj_test_priv_call
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - xyzzy_test_priv_call
    linkageType: ''
    returnType: void
    signature: "void xyzzy_obj_test_priv_call(VRT_CTX,\n    struct xyzzy_debug_obj
      *o, struct vmod_priv *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xyzzy_test_priv_vcl
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - o
    - priv
    argTypes:
    - struct xyzzy_debug_obj*
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: xyzzy_obj_test_priv_vcl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - xyzzy_test_priv_vcl
    linkageType: ''
    returnType: void
    signature: "void xyzzy_obj_test_priv_vcl(VRT_CTX,\n    struct xyzzy_debug_obj
      *o, struct vmod_priv *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: PRIV_FINI
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV_FINI(name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:187,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:195,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:197,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:201,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:202,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:208,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:211,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:213,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:217,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:224,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - o
    - s
    argTypes:
    - struct xyzzy_debug_obj*
    - VCL_STRING
    assertStmts:
    - condition: (p->methods == xyzzy_obj_test_priv_task_methods)
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    - condition: (p->methods == xyzzy_obj_test_priv_task_methods)
      pos:
        line_end: 223
        line_start: 223
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 230
      start: 182
    functionDepth: 8
    functionLinenumber: 182
    functionLinenumberEnd: 230
    functionName: xyzzy_obj_test_priv_task
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRT_priv_task
    - assert
    - VRT_fail
    - TRUST_ME
    - mylog
    - VRT_priv_task_get
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_test_priv_task(VRT_CTX, struct xyzzy_debug_obj *o, VCL_STRING
      s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:239,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:243,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:247,1
    - Dst: VRT_priv_top_get
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:250,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:252,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:256,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:257,1
    - Dst: VRT_priv_top
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:263,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:265,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:268,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:270,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:274,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:275,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:278,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:282,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:289,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:291,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - o
    - s
    argTypes:
    - struct xyzzy_debug_obj*
    - VCL_STRING
    assertStmts:
    - condition: (p->methods == xyzzy_obj_test_priv_top_methods)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    - condition: (p->methods == xyzzy_obj_test_priv_top_methods)
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 294
      start: 233
    functionDepth: 8
    functionLinenumber: 233
    functionLinenumberEnd: 294
    functionName: xyzzy_obj_test_priv_top
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - VRT_priv_top
    - CHECK_OBJ_NOTNULL
    - WS_Copy
    - VRT_fail
    - assert
    - TRUST_ME
    - VRT_priv_top_get
    - WS_Allocated
    - CHECK_OBJ
    - VSLb
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_test_priv_top(VRT_CTX, struct xyzzy_debug_obj *o, VCL_STRING
      s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:314,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:315,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:317,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:318,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:319,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:320,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:321,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:324,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:328,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:329,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:330,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:331,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:333,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:334,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - op
    - vcl_name
    - args
    argTypes:
    - struct xyzzy_debug_obj_opt**
    - char*
    - struct VARGS*
    assertStmts:
    - condition: (args->arg1 != args->arg2)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    - condition: (args->arg2 != args->arg3)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 339
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 339
    functionName: xyzzy_obj_opt__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - memcpy
    - REPLACE
    - AZ
    - assert
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void xyzzy_obj_opt__init(VRT_CTX,\n    struct xyzzy_debug_obj_opt
      **op, const char *vcl_name,\n    struct VARGS(obj_opt__init) *args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:346,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:348,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:350,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:351,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - op
    argTypes:
    - struct xyzzy_debug_obj_opt**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: xyzzy_obj_opt__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - REPLACE
    - TAKE_OBJ_NOTNULL
    - AN
    linkageType: ''
    returnType: void
    signature: void xyzzy_obj_opt__fini(struct xyzzy_debug_obj_opt **op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:361,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:362,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:364,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:365,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:366,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:367,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:368,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:369,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/vmod/vmod_debug_obj.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - o
    - args
    argTypes:
    - struct xyzzy_debug_obj_opt*
    - struct VARGS*
    assertStmts:
    - condition: (args->arg1 != args->arg2)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    - condition: (args->arg2 != args->arg3)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    constantsTouched: []
    func_position:
      end: 383
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 383
    functionName: xyzzy_obj_opt_meth_opt
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_obj.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - WS_Printf
    linkageType: ''
    returnType: void
    signature: "void xyzzy_obj_opt_meth_opt(VRT_CTX,\n    struct xyzzy_debug_obj_opt
      *o,\n    struct VARGS(obj_opt_meth_opt) *args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:97,1
    - Dst: change_reconfigure
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: shard_change_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - change_reconfigure
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void shard_change_fini(VRT_CTX, void * priv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:115,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:117,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:119,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:124,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:125,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:126,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:130,1
    - Dst: VSTAILQ_INIT
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts:
    - condition: (change->vsl == ctx->vsl)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (change->shardd == shardd)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 140
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 140
    functionName: shard_change_get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSTAILQ_INIT
    - CAST_OBJ_NOTNULL
    - VRT_priv_task
    - assert
    - WS_TASK_ALLOC_OBJ
    - shard_fail
    linkageType: ''
    returnType: struct shard_change
    signature: 'struct shard_change *

      shard_change_get(VRT_CTX, struct sharddir * const shardd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:145,1
    - Dst: VSTAILQ_INIT
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - change
    argTypes:
    - struct shard_change*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: shard_change_finish
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSTAILQ_INIT
    linkageType: ''
    returnType: void
    signature: void shard_change_finish(struct shard_change *change)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:156,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:158,1
    - Dst: VSTAILQ_INSERT_TAIL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - change
    - task_e
    - priv
    argTypes:
    - struct shard_change*
    - enum shard_change_task_e
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: shard_change_task_add
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - WS_TASK_ALLOC_OBJ
    - VSTAILQ_INSERT_TAIL
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct shard_change_task
    signature: "struct shard_change_task *\nshard_change_task_add(VRT_CTX, struct
      shard_change *change,\n    enum shard_change_task_e task_e, void *priv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:176,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:177,1
    - Dst: shard_change_get
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:179,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:183,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:185,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:191,1
    - Dst: shard_change_task_add
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - shardd
    - task_e
    - be
    - ident
    - rampup
    argTypes:
    - struct sharddir*
    - enum shard_change_task_e
    - VCL_BACKEND
    - VCL_STRING
    - VCL_DURATION
    assertStmts:
    - condition: (task_e == ADD_BE || task_e == REMOVE_BE)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 196
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 196
    functionName: shard_change_task_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - shard_change_task_add
    - CHECK_OBJ_NOTNULL
    - WS_Alloc
    - assert
    - VRT_Assign_Backend
    - shard_change_get
    - shard_fail
    linkageType: ''
    returnType: struct shard_change_task
    signature: "struct shard_change_task *\nshard_change_task_backend(VRT_CTX, struct
      sharddir *shardd,\n    enum shard_change_task_e task_e, VCL_BACKEND be, VCL_STRING
      ident,\n    VCL_DURATION rampup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:208,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:209,1
    - Dst: shard_change_task_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - shardd
    - be
    - ident
    - rampup
    - weight
    argTypes:
    - struct sharddir*
    - VCL_BACKEND
    - VCL_STRING
    - VCL_DURATION
    - VCL_REAL
    assertStmts:
    - condition: (weight >= 1)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: shardcfg_add_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - shard_change_task_backend
    - AN
    linkageType: ''
    returnType: VCL_BOOL
    signature: "VCL_BOOL shardcfg_add_backend(VRT_CTX, struct sharddir *shardd,\n
      \   VCL_BACKEND be, VCL_STRING ident, VCL_DURATION rampup, VCL_REAL weight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shard_change_task_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - shardd
    - be
    - ident
    argTypes:
    - struct sharddir*
    - VCL_BACKEND
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: shardcfg_remove_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - shard_change_task_backend
    linkageType: ''
    returnType: VCL_BOOL
    signature: "VCL_BOOL shardcfg_remove_backend(VRT_CTX, struct sharddir *shardd,\n
      \   VCL_BACKEND be, VCL_STRING ident)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:234,1
    - Dst: shard_change_get
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:236,1
    - Dst: shard_change_task_add
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 4
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: shardcfg_clear
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - shard_change_task_add
    - shard_change_get
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL shardcfg_clear(VRT_CTX, struct sharddir *shardd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct shard_circlepoint*
    - struct shard_circlepoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 255
    functionName: circlepoint_compare
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int circlepoint_compare(const struct shard_circlepoint *a,\n    const
      struct shard_circlepoint *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:266,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:267,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:269,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:271,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:276,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:277,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:280,1
    - Dst: calloc
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:283,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:284,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:288,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:290,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:291,1
    - Dst: vmin_t
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:293,1
    - Dst: bprintf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:296,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:297,1
    - Dst: VRT_HashStrands32
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:299,1
    - Dst: TOSTRANDS
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:299,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:304,1
    - Dst: qsort
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:305,1
    - Dst: SHDBG
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts:
    - condition: (i < n_points)
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (i == n_points)
      pos:
        line_end: 303
        line_start: 303
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (shardd->n_backend > 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (n_points < UINT32_MAX)
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (ident[0] != '\0')
      pos:
        line_end: 290
        line_start: 290
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 316
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 316
    functionName: shardcfg_hashcircle
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_HashStrands32
    - CHECK_OBJ_NOTNULL
    - bprintf
    - VRT_BACKEND_string
    - SHDBG
    - vmin_t
    - AZ
    - assert
    - TOSTRANDS
    - qsort
    - calloc
    linkageType: ''
    returnType: void
    signature: void shardcfg_hashcircle(struct sharddir *shardd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:327,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:328,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct shard_backend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: shardcfg_backend_free
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - memset
    - VRT_Assign_Backend
    - free
    linkageType: ''
    returnType: void
    signature: void shardcfg_backend_free(struct shard_backend *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct shard_backend*
    - struct shard_backend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: shardcfg_backend_copyin
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: void
    signature: "void shardcfg_backend_copyin(struct shard_backend *dst,\n    const
      struct shard_backend *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:350,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:351,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:358,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:361,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:363,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:364,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct shard_backend*
    - struct shard_backend*
    assertStmts:
    - condition: (ai || a->backend)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (bi || b->backend)
      pos:
        line_end: 350
        line_start: 350
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 366
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 366
    functionName: shardcfg_backend_cmp
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - VRT_BACKEND_string
    - AN
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int shardcfg_backend_cmp(const struct shard_backend *a,\n    const
      struct shard_backend *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:373,1
    - Dst: shardcfg_backend_cmp
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - task
    - b
    argTypes:
    - struct shard_backend*
    - struct shard_backend*
    assertStmts:
    - condition: (task->backend || task->ident)
      pos:
        line_end: 372
        line_start: 372
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 379
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 379
    functionName: shardcfg_backend_del_cmp
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - shardcfg_backend_cmp
    linkageType: ''
    returnType: int
    signature: "int shardcfg_backend_del_cmp(const struct shard_backend *task,\n    const
      struct shard_backend *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:389,1
    - Dst: shardcfg_backend_cmp
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - re
    - b
    argTypes:
    - struct backend_reconfig*
    - struct shard_backend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 398
    functionName: shardcfg_backend_lookup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - shardcfg_backend_cmp
    - AN
    linkageType: ''
    returnType: struct shard_backend
    signature: "struct shard_backend *\nshardcfg_backend_lookup(const struct backend_reconfig
      *re,\n    const struct shard_backend *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:405,1
    - Dst: vmax_t
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:407,1
    - Dst: realloc
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:414,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct backend_reconfig*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 418
    functionName: shardcfg_backend_expand
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - realloc
    - AN
    - CHECK_OBJ_NOTNULL
    - vmax_t
    linkageType: ''
    returnType: void
    signature: void shardcfg_backend_expand(const struct backend_reconfig *re)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shardcfg_backend_expand
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:429,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:432,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:435,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:440,1
    - Dst: shardcfg_backend_copyin
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - re
    - b
    - replicas
    argTypes:
    - struct backend_reconfig*
    - struct shard_backend*
    - uint32_t
    assertStmts:
    - condition: (re->shardd->n_backend < re->shardd->l_backend)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (re->hole_i < re->shardd->n_backend + re->hole_n)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (re->hole_i != UINT_MAX)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 449
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 449
    functionName: shardcfg_backend_add
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - shardcfg_backend_expand
    - shardcfg_backend_copyin
    linkageType: ''
    returnType: void
    signature: "void shardcfg_backend_add(struct backend_reconfig *re,\n    const
      struct shard_backend *b, uint32_t replicas)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shardcfg_backend_free
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 5
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: shardcfg_backend_clear
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - shardcfg_backend_free
    linkageType: ''
    returnType: void
    signature: void shardcfg_backend_clear(struct sharddir *shardd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shardcfg_backend_del_cmp
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:470,1
    - Dst: shardcfg_backend_free
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:473,1
    - Dst: vmin
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:477,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - re
    - spec
    argTypes:
    - struct backend_reconfig*
    - struct shard_backend*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 461
    functionDepth: 5
    functionLinenumber: 461
    functionLinenumberEnd: 481
    functionName: shardcfg_backend_del
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - shardcfg_backend_del_cmp
    - vmin
    - shardcfg_backend_free
    - VRT_Assign_Backend
    linkageType: ''
    returnType: void
    signature: void shardcfg_backend_del(struct backend_reconfig *re, struct shard_backend
      *spec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:500,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:507,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:508,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:509,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:511,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:512,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:518,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - re
    argTypes:
    - struct backend_reconfig*
    assertStmts:
    - condition: (re->hole_i < i)
      pos:
        line_end: 499
        line_start: 499
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (bb[re->hole_i].backend == NULL)
      pos:
        line_end: 507
        line_start: 507
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (re->hole_i < i)
      pos:
        line_end: 506
        line_start: 506
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (bb[i].backend != NULL)
      pos:
        line_end: 508
        line_start: 508
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (re->hole_n == 0)
      pos:
        line_end: 517
        line_start: 517
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 519
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 519
    functionName: shardcfg_backend_finalize
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void shardcfg_backend_finalize(struct backend_reconfig *re)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: VSTAILQ_FOREACH
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:544,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:545,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:557,1
    - Dst: shardcfg_backend_clear
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:562,1
    - Dst: VSTAILQ_NEXT
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:563,1
    - Dst: VSTAILQ_FOREACH_FROM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:569,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:570,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:573,1
    - Dst: shardcfg_backend_lookup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:576,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:579,1
    - Dst: shardcfg_backend_add
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:586,1
    - Dst: shard_notice
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:593,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:595,1
    - Dst: shardcfg_backend_del
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:600,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:603,1
    - Dst: shardcfg_backend_finalize
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:606,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - vsl
    - shardd
    - change
    - replicas
    argTypes:
    - struct vsl_log*
    - struct sharddir*
    - struct shard_change*
    - VCL_INT
    assertStmts:
    - condition: (task->task != CLEAR)
      pos:
        line_end: 572
        line_start: 572
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - condition: (task->weight >= 1)
      pos:
        line_end: 578
        line_start: 578
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 607
      start: 526
    functionDepth: 6
    functionLinenumber: 526
    functionLinenumberEnd: 607
    functionName: shardcfg_apply_change
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - VSTAILQ_FOREACH
    - VSTAILQ_NEXT
    - shardcfg_backend_lookup
    - shardcfg_backend_add
    - CHECK_OBJ_NOTNULL
    - shardcfg_backend_del
    - VSTAILQ_FOREACH_FROM
    - VRT_BACKEND_string
    - shard_notice
    - shardcfg_backend_clear
    - assert
    - INCOMPL
    - shardcfg_backend_finalize
    linkageType: ''
    returnType: void
    signature: "void shardcfg_apply_change(struct vsl_log *vsl, struct sharddir *shardd,\n
      \   const struct shard_change *change, VCL_INT replicas)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:619,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:620,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:622,1
    - Dst: VSTAILQ_FIRST
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:624,1
    - Dst: sharddir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:627,1
    - Dst: shardcfg_apply_change
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:629,1
    - Dst: shard_change_finish
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:630,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:633,1
    - Dst: shard_err0
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:637,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:639,1
    - Dst: shardcfg_hashcircle
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:643,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - change
    - replicas
    argTypes:
    - struct shard_change*
    - VCL_INT
    assertStmts:
    - condition: (replicas > 0)
      pos:
        line_end: 619
        line_start: 619
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 646
      start: 614
    functionDepth: 7
    functionLinenumber: 614
    functionLinenumberEnd: 646
    functionName: change_reconfigure
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 1
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - shard_err0
    - VSTAILQ_FIRST
    - sharddir_wrlock
    - assert
    - sharddir_unlock
    - shard_change_finish
    - shardcfg_hashcircle
    - shardcfg_apply_change
    - free
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL change_reconfigure(VRT_CTX, struct shard_change *change, VCL_INT
      replicas)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:653,1
    - Dst: shard_err
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:655,1
    - Dst: shard_change_get
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:660,1
    - Dst: change_reconfigure
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - shardd
    - replicas
    argTypes:
    - struct sharddir*
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 648
    functionDepth: 8
    functionLinenumber: 648
    functionLinenumberEnd: 665
    functionName: shardcfg_reconfigure
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - change_reconfigure
    - shard_err
    - shard_change_get
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL shardcfg_reconfigure(VRT_CTX, struct sharddir *shardd, VCL_INT
      replicas)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:677,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:679,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 682
    functionName: shardcfg_delete
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - free
    - AZ
    linkageType: ''
    returnType: void
    signature: void shardcfg_delete(const struct sharddir *shardd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:687,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:688,1
    - Dst: sharddir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:689,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - shardd
    - ratio
    argTypes:
    - struct sharddir*
    - VCL_REAL
    assertStmts:
    - condition: (ratio >= 0 && ratio < 1)
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 692
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 692
    functionName: shardcfg_set_warmup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - sharddir_wrlock
    - sharddir_unlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID shardcfg_set_warmup(struct sharddir *shardd, VCL_REAL ratio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:697,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:698,1
    - Dst: sharddir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:699,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - shardd
    - duration
    argTypes:
    - struct sharddir*
    - VCL_DURATION
    assertStmts:
    - condition: (duration >= 0)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 702
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 702
    functionName: shardcfg_set_rampup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - sharddir_wrlock
    - sharddir_unlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID shardcfg_set_rampup(struct sharddir *shardd, VCL_DURATION
      duration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:709,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:711,1
    - Dst: isnan
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - shardd
    - host
    argTypes:
    - struct sharddir*
    - unsigned
    assertStmts:
    - condition: (host < shardd->n_backend)
      pos:
        line_end: 710
        line_start: 710
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    constantsTouched: []
    func_position:
      end: 719
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 719
    functionName: shardcfg_get_rampup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    functionUses: 0
    functionsReached:
    - assert
    - isnan
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_DURATION
    signature: VCL_DURATION shardcfg_get_rampup(const struct sharddir *shardd, unsigned
      host)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: compa
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_querysort.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compa(const void *a, const void *b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:64,1
    - Dst: strchr
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:70,1
    - Dst: strchr
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:75,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:79,1
    - Dst: WS_ReserveLumps
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:83,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:84,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:86,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:87,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:98,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:99,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:110,1
    - Dst: qsort
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:112,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:121,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:124,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_std_querysort.c:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - url
    argTypes:
    - VCL_STRING
    assertStmts:
    - condition: (!(np & 1))
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vinyl-cache/vmod/vmod_std_querysort.c
    - condition: (pp[i + 1] > pp[i])
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/vmod/vmod_std_querysort.c
    constantsTouched: []
    func_position:
      end: 132
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 132
    functionName: vmod_querysort
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_querysort.c
    functionUses: 0
    functionsReached:
    - WS_Release
    - WS_Copy
    - CHECK_OBJ_NOTNULL
    - memcpy
    - WS_MarkOverflow
    - assert
    - strchr
    - qsort
    - WS_Reservation
    - WS_ReserveLumps
    linkageType: ''
    returnType: void
    signature: void vmod_querysort(VRT_CTX, VCL_STRING url)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:58,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:59,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:64,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:65,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - vdc
    - priv
    - capacity
    argTypes:
    - struct vdp_ctx*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 10
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: vdpio_hello_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - http_Unset
    - http_PrintfHeader
    - strlen
    linkageType: ''
    returnType: void
    signature: void vdpio_hello_init(VRT_CTX, struct vdp_ctx *vdc, void **priv, int
      capacity)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VSCARAB_CHECK_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:76,1
    - Dst: VSCARAB_ADD_IOV_NORET
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:80,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:81,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:81,1
    - Dst: vdpio_pull
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:82,1
    - Dst: VDPIO_Close1
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - vdc
    - this
    - scarab
    argTypes:
    - struct vdp_ctx*
    - struct vdp_entry*
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: vdpio_hello_lease
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - VSCARAB_ADD_IOV_NORET
    - vdpio_pull
    - TRUST_ME
    - VDPIO_Close1
    - VSCARAB_CHECK_NOTNULL
    - strlen
    linkageType: ''
    returnType: void
    signature: "void vdpio_hello_lease(struct vdp_ctx *vdc, struct vdp_entry *this,\n
      \   struct vscarab *scarab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:123,1
    - Dst: VDPIO_Notify
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - wrk
    - priv
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: vdpio_reluctant_later_task
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - VTIM_sleep
    - VDPIO_Notify
    linkageType: ''
    returnType: void
    signature: void vdpio_reluctant_later_task(struct worker *wrk, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:132,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:134,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:135,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:138,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - vdc
    - vdprs
    argTypes:
    - struct vdp_ctx*
    - struct vdp_reluctant_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: vdpio_reluctant_later
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - Pool_Task
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void vdpio_reluctant_later(struct vdp_ctx *vdc, struct vdp_reluctant_state
      *vdprs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:149,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:150,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:151,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - vdc
    - priv
    - capacity
    argTypes:
    - struct vdp_ctx*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: vdpio_reluctant_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - WS_TASK_ALLOC_OBJ
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdpio_reluctant_init(VRT_CTX, struct vdp_ctx *vdc, void **priv,
      int capacity)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:167,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:168,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:169,1
    - Dst: vdpio_pull
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:173,1
    - Dst: vdpio_reluctant_later
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - vdc
    - this
    - scarab
    argTypes:
    - struct vdp_ctx*
    - struct vdp_entry*
    - struct vscarab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: vdpio_reluctant_lease
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - vdpio_pull
    - vdpio_reluctant_later
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vdpio_reluctant_lease(struct vdp_ctx *vdc, struct vdp_entry *this,\n
      \   struct vscarab *scarab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:186,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:187,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: vdpio_reluctant_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - VTIM_sleep
    - TAKE_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdpio_reluctant_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INCOMPL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - req
    - v1lp
    - msg
    argTypes:
    - struct req*
    - struct v1l**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: dbg_vai_error
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - INCOMPL
    linkageType: ''
    returnType: void
    signature: void dbg_vai_error(struct req *req, struct v1l **v1lp, const char *msg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:228,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:229,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:230,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:233,1
    - Dst: http_HdrIs
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:236,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:237,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:238,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:240,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:241,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:243,1
    - Dst: V1L_Open
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:245,1
    - Dst: SESS_TMO
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:246,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:250,1
    - Dst: V1L_NoRollback
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:256,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:259,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:261,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:267,1
    - Dst: VCL_Req2Ctx
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:268,1
    - Dst: VDPIO_Upgrade
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:269,1
    - Dst: VDP_Push
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:271,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:272,1
    - Dst: VDPIO_Push
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:277,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:279,1
    - Dst: VDPIO_Push
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:282,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:284,1
    - Dst: VDPIO_Push
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:287,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:289,1
    - Dst: VDPIO_Push
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:292,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:294,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:300,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:301,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:305,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:306,1
    - Dst: WS_Overflowed
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:310,1
    - Dst: dbg_vai_error
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:311,1
    - Dst: HTTP1_Write
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:315,1
    - Dst: dbg_vai_deliver_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:318,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:322,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:326,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:329,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:333,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:342,1
    - Dst: Pool_Task
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:342,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 96
    argCount: 2
    argNames:
    - req
    - sendbody
    argTypes:
    - struct req*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 222
    functionDepth: 10
    functionLinenumber: 222
    functionLinenumberEnd: 344
    functionName: dbg_vai_deliver
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - V1L_Flush
    - http_GetHdr
    - V1L_Open
    - VDP_Push
    - V1L_NoRollback
    - http_HdrIs
    - VSLb
    - WS_Overflowed
    - AN
    - http_Unset
    - SESS_TMO
    - VDPIO_Upgrade
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    - AZ
    - CHECK_OBJ_ORNULL
    - VDPIO_Push
    - HTTP1_Write
    - VCL_Req2Ctx
    - dbg_vai_deliver_finish
    - Pool_Task
    - dbg_vai_error
    - http_SetHeader
    linkageType: ''
    returnType: void
    signature: void dbg_vai_deliver(struct req *req, int sendbody)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:354,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:355,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:358,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:360,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:361,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:362,1
    - Dst: CNT_Embark
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:363,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:366,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:366,1
    - Dst: V1L_Chunked
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:368,1
    - Dst: VDP_DeliverObj
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:369,1
    - Dst: V1L_EndChunk
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:371,1
    - Dst: dbg_vai_deliver_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:372,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 347
    functionDepth: 7
    functionLinenumber: 347
    functionLinenumberEnd: 377
    functionName: dbg_vai_deliverobj
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - CNT_Embark
    - AN
    - VDP_DeliverObj
    - CHECK_OBJ_NOTNULL
    - http_GetHdr
    - dbg_vai_deliver_finish
    - V1L_Chunked
    - CAST_OBJ_NOTNULL
    - AZ
    - strcmp
    - THR_SetRequest
    - V1L_EndChunk
    - VSLb
    linkageType: ''
    returnType: void
    signature: void dbg_vai_deliverobj(struct worker *wrk, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:394,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:395,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:395,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:396,1
    - Dst: pthread_cond_init
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sn
    argTypes:
    - struct dbg_vai_notify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: dbg_vai_notify_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - pthread_mutex_init
    - INIT_OBJ
    - AZ
    linkageType: ''
    returnType: void
    signature: void dbg_vai_notify_init(struct dbg_vai_notify *sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:403,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:404,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:404,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:405,1
    - Dst: pthread_cond_destroy
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sn
    argTypes:
    - struct dbg_vai_notify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: dbg_vai_notify_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - pthread_cond_destroy
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void dbg_vai_notify_fini(struct dbg_vai_notify *sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:414,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:415,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:415,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:417,1
    - Dst: pthread_cond_signal
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:417,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:418,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - hdl
    - priv
    argTypes:
    - vai_hdl
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 420
    functionName: dbg_vai_notify
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - AZ
    - pthread_mutex_lock
    - CAST_OBJ_NOTNULL
    - pthread_mutex_unlock
    - pthread_cond_signal
    linkageType: ''
    returnType: void
    signature: void dbg_vai_notify(vai_hdl hdl, void *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:426,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:427,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:427,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:429,1
    - Dst: pthread_cond_wait
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:429,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:430,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:432,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sn
    argTypes:
    - struct dbg_vai_notify*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: dbg_vai_notify_wait
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - pthread_mutex_lock
    - pthread_cond_wait
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void dbg_vai_notify_wait(struct dbg_vai_notify *sn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wrk
    - req
    argTypes:
    - struct worker*
    - struct req*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: dbg_vai_lease_done
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - VSLb
    linkageType: ''
    returnType: void
    signature: void dbg_vai_lease_done(struct worker *wrk, struct req *req)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:452,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:453,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:456,1
    - Dst: THR_SetRequest
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:458,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:459,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:460,1
    - Dst: CNT_Embark
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:461,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:466,1
    - Dst: VSCARAB_LOCAL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:468,1
    - Dst: VSCARET_LOCAL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:469,1
    - Dst: http_GetHdr
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:471,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:471,1
    - Dst: V1L_Chunked
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:473,1
    - Dst: dbg_vai_notify_init
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:476,1
    - Dst: VDPIO_Init
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:478,1
    - Dst: dbg_vai_notify_fini
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:479,1
    - Dst: dbg_vai_deliver_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:480,1
    - Dst: dbg_vai_lease_done
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:481,1
    - Dst: vdpio_pull
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:487,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:489,1
    - Dst: V1L_Flush
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:490,1
    - Dst: vdpio_return_vscarab
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:491,1
    - Dst: VDPIO_Return
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:494,1
    - Dst: dbg_vai_notify_wait
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:495,1
    - Dst: V1L_EndChunk
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:504,1
    - Dst: dbg_vai_deliver_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:505,1
    - Dst: VDPIO_Fini
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:506,1
    - Dst: dbg_vai_notify_fini
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:507,1
    - Dst: dbg_vai_lease_done
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - wrk
    - arg
    argTypes:
    - struct worker*
    - void*
    assertStmts:
    - condition: (cap > 0)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    constantsTouched: []
    func_position:
      end: 509
      start: 444
    functionDepth: 7
    functionLinenumber: 444
    functionLinenumberEnd: 509
    functionName: dbg_vai_lease
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - CNT_Embark
    - V1L_Flush
    - dbg_vai_lease_done
    - http_GetHdr
    - V1L_Chunked
    - VDPIO_Init
    - VSCARET_LOCAL
    - VSLb
    - AN
    - vdpio_pull
    - CAST_OBJ_NOTNULL
    - dbg_vai_notify_init
    - vdpio_return_vscarab
    - V1L_EndChunk
    - CHECK_OBJ_NOTNULL
    - VSCARAB_LOCAL
    - AZ
    - assert
    - strcmp
    - THR_SetRequest
    - VDPIO_Return
    - dbg_vai_deliver_finish
    - dbg_vai_notify_fini
    - dbg_vai_notify_wait
    - VDPIO_Fini
    linkageType: ''
    returnType: void
    signature: void dbg_vai_lease(struct worker *wrk, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: V1L_Close
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:517,1
    - Dst: VDPIO_Close
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:520,1
    - Dst: VDP_Close
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:521,1
    - Dst: Req_Fail
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - req
    - v1lp
    - err
    argTypes:
    - struct req*
    - struct v1l**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 511
    functionDepth: 4
    functionLinenumber: 511
    functionLinenumberEnd: 527
    functionName: dbg_vai_deliver_finish
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 3
    functionsReached:
    - VDP_Close
    - VDPIO_Close
    - V1L_Close
    - Req_Fail
    linkageType: ''
    returnType: void
    signature: void dbg_vai_deliver_finish(struct req *req, struct v1l **v1lp, int
      err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: debug_transport_vai_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void debug_transport_vai_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:544,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:546,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:549,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 539
    functionDepth: 8
    functionLinenumber: 539
    functionLinenumberEnd: 554
    functionName: debug_transport_vai_use
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void debug_transport_vai_use(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: base64_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: base64_l(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_l
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: base64nopad_encode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_base64.c
    functionUses: 0
    functionsReached:
    - base64_l
    linkageType: ''
    returnType: size_t
    signature: size_t base64nopad_encode_l(size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base64_l
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: base64_encode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_base64.c
    functionUses: 0
    functionsReached:
    - base64_l
    linkageType: ''
    returnType: size_t
    signature: size_t base64_encode_l(size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: base64_decode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t base64_decode_l(size_t l)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - dest
    - buf
    - buflen
    - u
    - n
    argTypes:
    - char**
    - blob_src_t
    - blob_len_t
    - unsigned
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 244
    functionName: decode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_base64.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int decode(char *restrict *restrict dest, blob_src_t buf,\n    blob_len_t
      buflen, unsigned u, const int n)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:257,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:258,1
    - Dst: base64nopad_encode_l
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:263,1
    - Dst: base64_encode_l
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:264,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:293,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 6
    argNames:
    - enc
    - kase
    - buf
    - buflen
    - inbuf
    - inlength
    argTypes:
    - enum encoding
    - enum case_e
    - blob_dest_t
    - blob_len_t
    - blob_src_t
    - blob_len_t
    assertStmts:
    - condition: (p >= buf)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vinyl-cache/vmod/vmod_blob_base64.c
    - condition: (p <= buf + buflen)
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/vinyl-cache/vmod/vmod_blob_base64.c
    constantsTouched: []
    func_position:
      end: 296
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 296
    functionName: base64_encode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_base64.c
    functionUses: 0
    functionsReached:
    - assert
    - base64_encode_l
    - AN
    - base64nopad_encode_l
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t base64_encode(const enum encoding enc, const enum case_e kase,\n
      \   blob_dest_t buf, blob_len_t buflen,\n    blob_src_t inbuf, blob_len_t inlength)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:310,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:311,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:312,1
    - Dst: decode
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:342,1
    - Dst: decode
      Src: /src/vinyl-cache/vmod/vmod_blob_base64.c:351,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 5
    argNames:
    - dec
    - buf
    - buflen
    - inlen
    - strings
    argTypes:
    - enum encoding
    - blob_dest_t
    - blob_len_t
    - ssize_t
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 356
    functionName: base64_decode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_base64.c
    functionUses: 0
    functionsReached:
    - AN
    - decode
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t base64_decode(const enum encoding dec, blob_dest_t buf,\n
      \   blob_len_t buflen, ssize_t inlen, VCL_STRANDS strings)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:55,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:56,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:57,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:58,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:61,1
    - Dst: VSL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:63,1
    - Dst: VTCP_open
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:65,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:67,1
    - Dst: VTCP_read
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:71,1
    - Dst: closefd
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:73,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:75,1
    - Dst: strerror
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:76,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - addr
    - tmo
    argTypes:
    - VCL_STRING
    - VCL_DURATION
    assertStmts:
    - condition: (tmo >= 0.0)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/vinyl-cache/vmod/vmod_vtc.c
    constantsTouched: []
    func_position:
      end: 79
      start: 48
    functionDepth: 8
    functionLinenumber: 48
    functionLinenumberEnd: 79
    functionName: vmod_barrier_sync
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - VTCP_read
    - AN
    - CHECK_OBJ_NOTNULL
    - closefd
    - VSL
    - strerror
    - assert
    - VRT_fail
    - VTCP_open
    - VSLb
    linkageType: ''
    returnType: void
    signature: void vmod_barrier_sync(VRT_CTX, VCL_STRING addr, VCL_DURATION tmo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: vmod_no_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_no_backend(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: vmod_no_stevedore
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_no_stevedore(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: vmod_no_ip
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_no_ip(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:114,1
    - Dst: VRT_StrandsWS
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:116,1
    - Dst: VAS_Fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: vmod_panic
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - VRT_StrandsWS
    - VAS_Fail
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_panic(VRT_CTX, VCL_STRANDS str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:126,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: vmod_sleep
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - VTIM_sleep
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_sleep(VRT_CTX, VCL_DURATION t)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:139,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:141,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:143,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:145,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:147,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - which
    argTypes:
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: vtc_ws_find
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - WRONG
    - VENUM
    linkageType: ''
    returnType: struct ws
    signature: 'struct ws *

      vtc_ws_find(VRT_CTX, VCL_ENUM which)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:158,1
    - Dst: vtc_ws_find
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:160,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:163,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:166,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:167,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:170,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:173,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:175,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - which
    - size
    argTypes:
    - VCL_ENUM
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 8
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: vmod_workspace_alloc
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - WS_Alloc
    - memset
    - VRT_fail
    - vtc_ws_find
    linkageType: ''
    returnType: void
    signature: void vmod_workspace_alloc(VRT_CTX, VCL_ENUM which, VCL_INT size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:186,1
    - Dst: vtc_ws_find
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:188,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:191,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:194,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:195,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:198,1
    - Dst: WS_ReserveSize
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:201,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:204,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:204,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - which
    - size
    argTypes:
    - VCL_ENUM
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 181
    functionDepth: 8
    functionLinenumber: 181
    functionLinenumberEnd: 207
    functionName: vmod_workspace_reserve
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - memset
    - WS_ReserveSize
    - VRT_fail
    - vtc_ws_find
    - WS_Reservation
    linkageType: ''
    returnType: void
    signature: void vmod_workspace_reserve(VRT_CTX, VCL_ENUM which, VCL_INT size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:215,1
    - Dst: vtc_ws_find
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:217,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:220,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:222,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - which
    argTypes:
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: vmod_workspace_free
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - vtc_ws_find
    linkageType: ''
    returnType: void
    signature: void vmod_workspace_free(VRT_CTX, VCL_ENUM which)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - def
    - ','
    - name
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: VTC_WS_OP
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTC_WS_OP(type, def, name, op)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:259,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:260,1
    - Dst: vtc_ws_find
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:262,1
    - Dst: WS_Assert
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:265,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:268,1
    - Dst: WS_Dump
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:273,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:274,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:278,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:283,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:287,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:289,1
    - Dst: VRT_blob
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - which
    - where
    - 'off'
    - len
    argTypes:
    - VCL_ENUM
    - VCL_ENUM
    - VCL_BYTES
    - VCL_BYTES
    assertStmts:
    - condition: (l <= WS_DUMP_MAXLEN)
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vinyl-cache/vmod/vmod_vtc.c
    constantsTouched: []
    func_position:
      end: 293
      start: 251
    functionDepth: 9
    functionLinenumber: 251
    functionLinenumberEnd: 293
    functionName: vmod_workspace_dump
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - WS_Assert
    - AN
    - VRT_blob
    - CHECK_OBJ_NOTNULL
    - WS_Copy
    - VRT_fail
    - assert
    - WS_Dump
    - WRONG
    - vtc_ws_find
    linkageType: ''
    returnType: void
    signature: "void vmod_workspace_dump(VRT_CTX, VCL_ENUM which, VCL_ENUM where,\n
      \   VCL_BYTES off, VCL_BYTES len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: VTC_TYPESIZE
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTC_TYPESIZE(c, t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:420,1
    - Dst: bsearch
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:423,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:427,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:432,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:437,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:439,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:442,1
    - Dst: VSLs
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - id
    - tag_s
    - side
    - s
    argTypes:
    - VCL_INT
    - VCL_STRING
    - VCL_ENUM
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 8
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: vmod_vsl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - bsearch
    - VRT_fail
    - WRONG
    - VENUM
    - VSLs
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_vsl(VRT_CTX, VCL_INT id, VCL_STRING tag_s, VCL_ENUM side,
      VCL_STRANDS s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:458,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:463,1
    - Dst: strtoll
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:465,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:469,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:473,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:476,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:478,1
    - Dst: strtok_r
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:482,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:484,1
    - Dst: vmod_vsl
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 447
    functionDepth: 9
    functionLinenumber: 447
    functionLinenumberEnd: 489
    functionName: vsl_line
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - strtok_r
    - vmod_vsl
    - VENUM
    - strtoll
    - TOSTRAND
    - strstr
    linkageType: ''
    returnType: void
    signature: void vsl_line(VRT_CTX, char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:499,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:503,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:504,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:505,1
    - Dst: strpbrk
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:511,1
    - Dst: VSB_bcat
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:514,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:514,1
    - Dst: vsl_line
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:518,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:518,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:519,1
    - Dst: strpbrk
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:521,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:523,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:528,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:529,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:529,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:530,1
    - Dst: vsl_line
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:533,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:533,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:534,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:535,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_vtc.c:535,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 491
    functionDepth: 10
    functionLinenumber: 491
    functionLinenumberEnd: 536
    functionName: vmod_vsl_replay
    functionSourceFile: /src/vinyl-cache/vmod/vmod_vtc.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_finish
    - VSB_clear
    - AZ
    - VRT_fail
    - vsl_line
    - VSB_cat
    - VSB_bcat
    - WS_VSB_new
    - VSB_data
    - CHECK_OBJ_ORNULL
    - WS_VSB_finish
    - strpbrk
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID vmod_vsl_replay(VRT_CTX, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shardd
    - flags
    argTypes:
    - struct sharddir*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: sharddir_debug
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sharddir_debug(struct sharddir *shardd, const uint32_t flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:85,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:87,1
    - Dst: VSLv
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:89,1
    - Dst: va_end
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vsl
    - tag
    - fmt
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 7
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: sharddir_log
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - VSLbv
    - VSLv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void sharddir_log(struct vsl_log *vsl, enum VSL_tag_e tag,  const char
      *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:96,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - shardd
    - key
    argTypes:
    - struct sharddir*
    - uint32_t
    assertStmts:
    - condition: (n < idx)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    constantsTouched: []
    func_position:
      end: 122
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 122
    functionName: shard_lookup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: int
    signature: int shard_lookup(const struct sharddir *shardd, const uint32_t key)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:132,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:133,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:142,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:144,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:149,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:150,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:164,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - state
    - skip
    - healthy
    argTypes:
    - struct shard_state*
    - VCL_INT
    - VCL_BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 180
    functionName: shard_next
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - AN
    - vbit_set
    - vbit_test
    - CHECK_OBJ_NOTNULL
    - memcpy
    - VRT_Healthy
    linkageType: ''
    returnType: int
    signature: int shard_next(struct shard_state *state, VCL_INT skip, VCL_BOOL healthy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:188,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:189,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:190,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:192,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:196,1
    - Dst: pthread_rwlock_init
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - sharddp
    - vcl_name
    - param
    argTypes:
    - struct sharddir**
    - char*
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: sharddir_new
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - AN
    - pthread_rwlock_init
    - AZ
    - PTOK
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void sharddir_new(struct sharddir **sharddp, const char *vcl_name,\n
      \   const struct vmod_directors_shard_param *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shardd
    - param
    argTypes:
    - struct sharddir*
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: sharddir_set_param
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void sharddir_set_param(struct sharddir *shardd,\n    const struct
      vmod_directors_shard_param *param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:210,1
    - Dst: shardcfg_backend_clear
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 6
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: sharddir_release
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - shardcfg_backend_clear
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sharddir_release(struct sharddir *shardd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:219,1
    - Dst: shardcfg_delete
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:220,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:221,1
    - Dst: pthread_rwlock_destroy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:221,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sharddp
    argTypes:
    - struct sharddir**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: sharddir_delete
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - shardcfg_delete
    - FREE_OBJ
    - PTOK
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void sharddir_delete(struct sharddir **sharddp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:228,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:229,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: sharddir_rdlock
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - PTOK
    - pthread_rwlock_rdlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sharddir_rdlock(struct sharddir *shardd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:235,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:236,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: sharddir_wrlock
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 3
    functionsReached:
    - PTOK
    - CHECK_OBJ_NOTNULL
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void sharddir_wrlock(struct sharddir *shardd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:242,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:243,1
    - Dst: pthread_rwlock_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - shardd
    argTypes:
    - struct sharddir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: sharddir_unlock
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 3
    functionsReached:
    - PTOK
    - pthread_rwlock_unlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void sharddir_unlock(struct sharddir *shardd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shard_err
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:252,1
    - Dst: shard_err
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - shardd
    - alt
    argTypes:
    - struct sharddir*
    - VCL_INT*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: validate_alt
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - shard_err
    linkageType: ''
    returnType: void
    signature: void validate_alt(VRT_CTX, const struct sharddir *shardd, VCL_INT *alt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - state
    - shardd
    - picklist
    argTypes:
    - struct shard_state*
    - struct sharddir*
    - struct vbitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 276
    functionName: init_state
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - AN
    linkageType: ''
    returnType: void
    signature: "void init_state(struct shard_state *state,\n    VRT_CTX, struct sharddir
      *shardd, struct vbitmap *picklist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:290,1
    - Dst: sharddir_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:291,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:296,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:297,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - shardd
    - changed
    argTypes:
    - struct sharddir*
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 305
    functionName: sharddir_any_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - sharddir_unlock
    - VRT_Healthy
    - sharddir_rdlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL sharddir_any_healthy(VRT_CTX, struct sharddir *shardd, VCL_TIME
      *changed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:319,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:320,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:321,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:322,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:324,1
    - Dst: validate_alt
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:326,1
    - Dst: shard_lookup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:328,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:329,1
    - Dst: SHDBG
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:331,1
    - Dst: shard_next
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:335,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:336,1
    - Dst: sharddir_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:338,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:340,1
    - Dst: shard_next
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:347,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:347,1
    - Dst: sharddir_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:349,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:350,1
    - Dst: sharddir_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:356,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:357,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:363,1
    - Dst: shard_next
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:364,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:367,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:368,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:369,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:370,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:371,1
    - Dst: sharddir_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:371,1
    - Dst: shardcfg_get_rampup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:373,1
    - Dst: shardcfg_get_rampup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:374,1
    - Dst: SHDBG
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:376,1
    - Dst: SHDBG
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:379,1
    - Dst: VRND_RandomTestableDouble
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:391,1
    - Dst: VRND_RandomTestableDouble
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:396,1
    - Dst: sharddir_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:400,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 7
    argNames:
    - shardd
    - key
    - alt
    - warmup
    - rampup
    - healthy
    - state
    argTypes:
    - struct sharddir*
    - uint32_t
    - VCL_INT
    - VCL_REAL
    - VCL_BOOL
    - VCL_ENUM
    - struct shard_state*
    assertStmts:
    - condition: (shardd->n_backend > 0)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - condition: (shardd->hashcircle)
      pos:
        line_end: 323
        line_start: 323
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - condition: (alt == 0)
      pos:
        line_end: 366
        line_start: 366
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - condition: (state->idx < UINT32_MAX)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - condition: (state->previous.hostid != UINT_MAX)
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - condition: (state->previous.hostid != state->last.hostid)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - condition: (be == sharddir_backend(shardd, state->previous.hostid))
      pos:
        line_end: 370
        line_start: 370
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - condition: (state->last.hostid != UINT_MAX)
      pos:
        line_end: 368
        line_start: 368
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    constantsTouched: []
    func_position:
      end: 402
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 402
    functionName: sharddir_pick_be_locked
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - AN
    - shardcfg_get_rampup
    - CHECK_OBJ_NOTNULL
    - SHDBG
    - shard_next
    - VRND_RandomTestableDouble
    - assert
    - shard_lookup
    - sharddir_backend
    - VENUM
    - validate_alt
    linkageType: ''
    returnType: VCL_BACKEND
    signature: "VCL_BACKEND sharddir_pick_be_locked(VRT_CTX, const struct sharddir
      *shardd, uint32_t key,\n    VCL_INT alt, VCL_REAL warmup, VCL_BOOL rampup, VCL_ENUM
      healthy,\n    struct shard_state *state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:412,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:413,1
    - Dst: sharddir_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:415,1
    - Dst: shard_err0
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:418,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:419,1
    - Dst: VBITMAP_SZ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:423,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:426,1
    - Dst: init_state
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:427,1
    - Dst: vbit_init
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:427,1
    - Dst: sharddir_pick_be_locked
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:429,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:431,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - shardd
    - key
    - alt
    - warmup
    - rampup
    - healthy
    argTypes:
    - struct sharddir*
    - uint32_t
    - VCL_INT
    - VCL_REAL
    - VCL_BOOL
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 404
    functionDepth: 5
    functionLinenumber: 404
    functionLinenumberEnd: 435
    functionName: sharddir_pick_be
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    functionUses: 0
    functionsReached:
    - vbit_init
    - CHECK_OBJ_NOTNULL
    - shard_err0
    - sharddir_pick_be_locked
    - memset
    - sharddir_rdlock
    - init_state
    - vbit_destroy
    - sharddir_unlock
    - VBITMAP_SZ
    linkageType: ''
    returnType: VCL_BACKEND
    signature: "VCL_BACKEND sharddir_pick_be(VRT_CTX, struct sharddir *shardd, uint32_t
      key, VCL_INT alt,\n    VCL_REAL warmup, VCL_BOOL rampup, VCL_ENUM healthy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fpclassify
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:54,1
    - Dst: fpclassify
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:57,1
    - Dst: fabs
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:60,1
    - Dst: fabs
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:64,1
    - Dst: fabs
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - a
    - b
    - maxDiff
    - maxRelDiff
    argTypes:
    - VCL_REAL
    - VCL_REAL
    - VCL_REAL
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: vmod_approx
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math_util.c
    functionUses: 0
    functionsReached:
    - fpclassify
    - fabs
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL vmod_approx(VRT_CTX, VCL_REAL a, VCL_REAL b, VCL_REAL maxDiff,
      VCL_REAL maxRelDiff)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: valid_fmt
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math_util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valid_fmt(VCL_STRING fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:103,1
    - Dst: valid_fmt
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:105,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:106,1
    - Dst: WS_Printf
      Src: /src/vinyl-cache/vmod/vmod_math_util.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fmt
    - fp
    argTypes:
    - VCL_STRING
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 8
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: vmod_strfromd
    functionSourceFile: /src/vinyl-cache/vmod/vmod_math_util.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - valid_fmt
    - CHECK_OBJ_NOTNULL
    - WS_Printf
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING vmod_strfromd(VRT_CTX, VCL_STRING fmt, VCL_REAL fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:52,1
    - Dst: priv_allocset
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:53,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:54,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:55,1
    - Dst: priv_addset
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: cred_compat_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
    functionUses: 0
    functionsReached:
    - priv_addset
    - AN
    - priv_allocset
    - AZ
    linkageType: ''
    returnType: void
    signature: void cred_compat_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: priv_freeset
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: cred_compat_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
    functionUses: 0
    functionsReached:
    - priv_freeset
    linkageType: ''
    returnType: void
    signature: void cred_compat_fini(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:83,1
    - Dst: getpeereid
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:92,1
    - Dst: ucred_size
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:97,1
    - Dst: priv_ineffect
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:104,1
    - Dst: setppriv
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:106,1
    - Dst: getpeerucred
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:112,1
    - Dst: ucred_geteuid
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:114,1
    - Dst: ucred_getegid
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:115,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:119,1
    - Dst: setppriv
      Src: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - fd
    - uid
    - gid
    argTypes:
    - int
    - uid_t*
    - gid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 130
    functionName: get_ids
    functionSourceFile: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
    functionUses: 0
    functionsReached:
    - ucred_getegid
    - AZ
    - ucred_geteuid
    - getsockopt
    - getpeereid
    - setppriv
    - getpeerucred
    - priv_ineffect
    - ucred_size
    linkageType: ''
    returnType: int
    signature: int get_ids(int fd, uid_t *uid, gid_t *gid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_h2.c:45,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_h2.c:46,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_h2.c:49,1
    - Dst: SES_Get_proto_priv
      Src: /src/vinyl-cache/vmod/vmod_h2.c:49,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_h2.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: h2get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_h2.c
    functionUses: 0
    functionsReached:
    - SES_Get_proto_priv
    - CAST_OBJ_NOTNULL
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: struct h2_sess
    signature: 'struct h2_sess *

      h2get(VRT_CTX)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: h2get
      Src: /src/vinyl-cache/vmod/vmod_h2.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: vmod_is
    functionSourceFile: /src/vinyl-cache/vmod/vmod_h2.c
    functionUses: 0
    functionsReached:
    - h2get
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL vmod_is(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - argname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 88
    functionName: GETSET
    functionSourceFile: /src/vinyl-cache/vmod/vmod_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETSET(type, name, argname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: h2get
      Src: /src/vinyl-cache/vmod/vmod_h2.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: vmod_rapid_reset_budget
    functionSourceFile: /src/vinyl-cache/vmod/vmod_h2.c
    functionUses: 0
    functionsReached:
    - h2get
    linkageType: ''
    returnType: VCL_REAL
    signature: VCL_REAL vmod_rapid_reset_budget(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: default_by
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: default_by(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: default_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: default_healthy(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:201,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (sizeof(VCL_INT) >= sizeof(uint32_t))
      pos:
        line_end: 200
        line_start: 200
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (t2a == t2b)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: shard__assert
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void shard__assert(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:213,1
    - Dst: sharddir_release
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: vmod_shard_release
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - sharddir_release
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_shard_release(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:222,1
    - Dst: sharddir_delete
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: vmod_shard_destroy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - sharddir_delete
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_shard_destroy(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shard__assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:243,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:245,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:246,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:248,1
    - Dst: sharddir_new
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:251,1
    - Dst: VRT_AddDirector
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - vshardp
    - vcl_name
    argTypes:
    - struct vmod_directors_shard**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: vmod_shard__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - VRT_AddDirector
    - AN
    - shard__assert
    - AZ
    - sharddir_new
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void vmod_shard__init(VRT_CTX, struct vmod_directors_shard **vshardp,\n
      \   const char *vcl_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:262,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:263,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vshardp
    argTypes:
    - struct vmod_directors_shard**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: vmod_shard__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    - VRT_DelDirector
    linkageType: ''
    returnType: void
    signature: void vmod_shard__fini(struct vmod_directors_shard **vshardp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_HashStrands32
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vshard
    - s
    argTypes:
    - struct vmod_directors_shard*
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: vmod_shard_key
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - VRT_HashStrands32
    linkageType: ''
    returnType: void
    signature: void vmod_shard_key(VRT_CTX, struct vmod_directors_shard *vshard, VCL_STRANDS
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:281,1
    - Dst: shard_notice
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:283,1
    - Dst: shardcfg_set_warmup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vshard
    - probability
    argTypes:
    - struct vmod_directors_shard*
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: vmod_shard_set_warmup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shard_notice
    - CHECK_OBJ_NOTNULL
    - shardcfg_set_warmup
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_set_warmup(VRT_CTX, struct vmod_directors_shard *vshard,\n
      \   VCL_REAL probability)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:295,1
    - Dst: shardcfg_set_rampup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vshard
    - duration
    argTypes:
    - struct vmod_directors_shard*
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: vmod_shard_set_rampup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shardcfg_set_rampup
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_set_rampup(VRT_CTX, struct vmod_directors_shard *vshard,\n
      \   VCL_DURATION duration)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:304,1
    - Dst: sharddir_set_param
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:307,1
    - Dst: shard_param_blob
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:311,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:314,1
    - Dst: sharddir_set_param
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - vshard
    - b
    argTypes:
    - struct vmod_directors_shard*
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 320
    functionName: vmod_shard_associate
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shard_param_blob
    - sharddir_set_param
    - CHECK_OBJ_NOTNULL
    - shard_fail
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_associate(VRT_CTX,\n    struct vmod_directors_shard
      *vshard, VCL_BLOB b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:328,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:331,1
    - Dst: shard_notice
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:340,1
    - Dst: shardcfg_add_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:344,1
    - Dst: nan
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - vshard
    - args
    argTypes:
    - struct vmod_directors_shard*
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 323
    functionDepth: 6
    functionLinenumber: 323
    functionLinenumberEnd: 348
    functionName: vmod_shard_add_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - shardcfg_add_backend
    - shard_notice
    - nan
    - shard_fail
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_add_backend(VRT_CTX, struct vmod_directors_shard *vshard,\n
      \   struct VARGS(shard_add_backend) *args)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:357,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:360,1
    - Dst: shardcfg_remove_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vshard
    - args
    argTypes:
    - struct vmod_directors_shard*
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: vmod_shard_remove_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shardcfg_remove_backend
    - CHECK_OBJ_NOTNULL
    - shard_fail
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_remove_backend(VRT_CTX, struct vmod_directors_shard
      *vshard,\n    struct VARGS(shard_remove_backend) *args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:371,1
    - Dst: shardcfg_clear
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vshard
    argTypes:
    - struct vmod_directors_shard*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: vmod_shard_clear
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shardcfg_clear
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_shard_clear(VRT_CTX, struct vmod_directors_shard *vshard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shardcfg_reconfigure
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vshard
    - replicas
    argTypes:
    - struct vmod_directors_shard*
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 9
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: vmod_shard_reconfigure
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shardcfg_reconfigure
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_reconfigure(VRT_CTX, struct vmod_directors_shard *vshard,\n
      \   VCL_INT replicas)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_by
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:386,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:388,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:388,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:390,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:391,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:392,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:394,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:394,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:396,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:398,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:399,1
    - Dst: VRT_HashStrands32
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:401,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:401,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 404
    functionName: shard_get_key
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_HashStrands32
    - default_by
    - vbe32dec
    - VENUM
    - WRONG
    - CHECK_OBJ
    - TOSTRAND
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t shard_get_key(VRT_CTX, const struct vmod_directors_shard_param
      *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:414,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:415,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:420,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:421,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:425,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:425,1
    - Dst: mrg
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:435,1
    - Dst: mrg
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:436,1
    - Dst: mrg
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:437,1
    - Dst: mrg
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:438,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:446,1
    - Dst: shard_param_merge
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - struct vmod_directors_shard_param*
    - struct vmod_directors_shard_param*
    assertStmts:
    - condition: ((to->mask & ~arg_mask_param_) == 0)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: ((from->mask & ~arg_mask_param_) == 0)
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 448
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 448
    functionName: shard_param_merge
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 1
    functionsReached:
    - mrg
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - VENUM
    - shard_param_merge
    linkageType: ''
    returnType: void
    signature: "void shard_param_merge(struct vmod_directors_shard_param *to,\n\t\t
      \ const struct vmod_directors_shard_param *from)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - to
    - ','
    - from
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 434
    functionName: mrg
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mrg(to, from, field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:457,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:458,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:459,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:469,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key_blob
    argTypes:
    - VCL_BLOB
    assertStmts:
    - condition: (i <= key_blob->len)
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (key_blob->len > 0)
      pos:
        line_end: 458
        line_start: 458
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 472
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 472
    functionName: shard_blob_key
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - vbe32dec
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t shard_blob_key(VCL_BLOB key_blob)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - args
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: tobit
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tobit(args, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:483,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:484,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:485,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:486,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:487,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:488,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:489,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:490,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 492
    functionName: shard_backendarg_mask_
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - tobit
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t shard_backendarg_mask_(const struct VARGS(shard_backend) *
      const a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:496,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:497,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:498,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:499,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:500,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:501,1
    - Dst: tobit
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: shard_param_set_mask
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - tobit
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t shard_param_set_mask(const struct VARGS(shard_param_set) *
      const a)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:516,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:517,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:519,1
    - Dst: default_by
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:523,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:526,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:528,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:534,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:539,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:540,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:542,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:544,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:549,1
    - Dst: shard_err
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:552,1
    - Dst: shard_blob_key
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:557,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:558,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:558,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:560,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:566,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:572,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:582,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 10
    argNames:
    - p
    - func
    - args
    - by_s
    - key_int
    - key_blob
    - alt
    - warmup
    - rampup
    - healthy_s
    argTypes:
    - struct vmod_directors_shard_param*
    - char*
    - uint32_t
    - VCL_ENUM
    - VCL_INT
    - VCL_BLOB
    - VCL_INT
    - VCL_REAL
    - VCL_BOOL
    - VCL_ENUM
    assertStmts:
    - condition: ((args & ~arg_mask_set_) == 0)
      pos:
        line_end: 518
        line_start: 518
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (key_int <= UINT32_MAX)
      pos:
        line_end: 539
        line_start: 539
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (key_int >= 0)
      pos:
        line_end: 538
        line_start: 538
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 598
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 598
    functionName: shard_param_args
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - AN
    - shard_blob_key
    - CHECK_OBJ_NOTNULL
    - default_by
    - assert
    - shard_err
    - VENUM
    - WRONG
    - CHECK_OBJ_ORNULL
    - shard_fail
    linkageType: ''
    returnType: struct vmod_directors_shard_param
    signature: "struct vmod_directors_shard_param *\nshard_param_args(VRT_CTX,\n    struct
      vmod_directors_shard_param *p, const char *func,\n    uint32_t args, VCL_ENUM
      by_s, VCL_INT key_int, VCL_BLOB key_blob,\n    VCL_INT alt, VCL_REAL warmup,
      VCL_BOOL rampup, VCL_ENUM healthy_s)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: shard_backendarg_mask_
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:609,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:611,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:612,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:614,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:615,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:620,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:622,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:624,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:626,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:631,1
    - Dst: shard_param_task_l
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:638,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:642,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:644,1
    - Dst: shard_param_task_r
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:649,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:651,1
    - Dst: shard_param_stack
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:652,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:654,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:657,1
    - Dst: shard_param_blob
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:660,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:662,1
    - Dst: shard_param_args
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:669,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:676,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:679,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:679,1
    - Dst: shard_param_merge
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:680,1
    - Dst: sharddir_pick_be
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:681,1
    - Dst: shard_get_key
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:681,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - vshard
    - a
    argTypes:
    - struct vmod_directors_shard*
    - struct VARGS*
    assertStmts:
    - condition: (resolve == VENUM(NOW))
      pos:
        line_end: 678
        line_start: 678
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: ((args & ~arg_mask_) == 0)
      pos:
        line_end: 614
        line_start: 614
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 683
      start: 601
    functionDepth: 6
    functionLinenumber: 601
    functionLinenumberEnd: 683
    functionName: vmod_shard_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shard_param_task_r
    - shard_param_stack
    - AN
    - shard_param_args
    - CHECK_OBJ_NOTNULL
    - sharddir_pick_be
    - shard_get_key
    - assert
    - shard_param_task_l
    - shard_param_blob
    - VENUM
    - WRONG
    - shard_param_merge
    - shard_backendarg_mask_
    - shard_fail
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_backend(VRT_CTX, struct vmod_directors_shard *vshard,\n\t\t
      \  struct VARGS(shard_backend) *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:690,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:691,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:692,1
    - Dst: sharddir_any_healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dir
    - changed
    argTypes:
    - VCL_BACKEND
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 694
    functionName: vmod_shard_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - sharddir_any_healthy
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_shard_healthy(VRT_CTX, VCL_BACKEND dir, VCL_TIME *changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:703,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:704,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:705,1
    - Dst: vmod_shard_param_read
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:707,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:709,1
    - Dst: sharddir_pick_be
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:711,1
    - Dst: shard_get_key
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 697
    functionDepth: 6
    functionLinenumber: 697
    functionLinenumberEnd: 714
    functionName: vmod_shard_resolve
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - sharddir_pick_be
    - vmod_shard_param_read
    - shard_get_key
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_shard_resolve(VRT_CTX, VCL_BACKEND dir)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:728,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:729,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:730,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:734,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:735,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:736,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:737,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:739,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:740,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:742,1
    - Dst: sharddir_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:747,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:750,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:752,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:755,1
    - Dst: shardcfg_get_rampup
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:764,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:778,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:779,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:781,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:782,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:784,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:786,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:787,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:789,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:790,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:792,1
    - Dst: sharddir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:799,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:802,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:803,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:804,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:805,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:806,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:813,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:816,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 4
    argNames:
    - dir
    - vsb
    - pflag
    - jflag
    argTypes:
    - VCL_BACKEND
    - struct vsb*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 817
    functionName: vmod_shard_list
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - VSB_indent
    - AN
    - shardcfg_get_rampup
    - CHECK_OBJ_NOTNULL
    - VRT_Healthy
    - VSB_printf
    - sharddir_rdlock
    - CAST_OBJ_NOTNULL
    - sharddir_unlock
    - VSB_cat
    linkageType: ''
    returnType: void
    signature: void vmod_shard_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int
      pflag, int jflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:823,1
    - Dst: sharddir_debug
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vshard
    - i
    argTypes:
    - struct vmod_directors_shard*
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 827
    functionName: vmod_shard_debug
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - sharddir_debug
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_debug(VRT_CTX, struct vmod_directors_shard *vshard,\n
      \   VCL_INT i)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:840,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:841,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:842,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pp
    - vcl_name
    argTypes:
    - struct vmod_directors_shard_param**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 849
    functionName: vmod_shard_param__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - AN
    - ALLOC_OBJ
    - AZ
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param__init(VRT_CTX,\n    struct vmod_directors_shard_param
      **pp, const char *vcl_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:856,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pp
    argTypes:
    - struct vmod_directors_shard_param**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 858
    functionName: vmod_shard_param__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_shard_param__fini(struct vmod_directors_shard_param **pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:867,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:868,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:870,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - p
    - pa
    - who
    argTypes:
    - struct vmod_directors_shard_param*
    - struct vmod_directors_shard_param*
    - char*
    assertStmts:
    - condition: (pa->scope > _SCOPE_INVALID)
      pos:
        line_end: 867
        line_start: 867
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 877
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 877
    functionName: shard_param_stack
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 1
    functionsReached:
    - assert
    - AN
    - INIT_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct vmod_directors_shard_param
    signature: "struct vmod_directors_shard_param *\nshard_param_stack(struct vmod_directors_shard_param
      *p,\n    const struct vmod_directors_shard_param *pa, const char *who)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:887,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:888,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:889,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:892,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:895,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:896,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:897,1
    - Dst: shard_param_task_r
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - id
    - who
    - pa
    argTypes:
    - void*
    - char*
    - struct vmod_directors_shard_param*
    assertStmts:
    - condition: (pa->scope > _SCOPE_INVALID)
      pos:
        line_end: 888
        line_start: 888
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (p->scope == SCOPE_TASK)
      pos:
        line_end: 895
        line_start: 895
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (who == p->vcl_name)
      pos:
        line_end: 896
        line_start: 896
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 905
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 905
    functionName: shard_param_task_r
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 2
    functionsReached:
    - shard_param_task_r
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - VRT_priv_task_get
    linkageType: ''
    returnType: struct vmod_directors_shard_param
    signature: "struct vmod_directors_shard_param *\nshard_param_task_r(VRT_CTX, const
      void *id, const char *who,\n   const struct vmod_directors_shard_param *pa)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:919,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:920,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:921,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:924,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:927,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:932,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:933,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:934,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:938,1
    - Dst: shard_param_task_l
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:948,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - id
    - who
    - pa
    argTypes:
    - void*
    - char*
    - struct vmod_directors_shard_param*
    assertStmts:
    - condition: (pa->scope > _SCOPE_INVALID)
      pos:
        line_end: 920
        line_start: 920
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (p->scope == SCOPE_TASK)
      pos:
        line_end: 932
        line_start: 932
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - condition: (who == p->vcl_name)
      pos:
        line_end: 933
        line_start: 933
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 954
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 954
    functionName: shard_param_task_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - VRT_priv_task
    - WS_TASK_ALLOC_OBJ
    - shard_param_task_l
    - shard_fail
    linkageType: ''
    returnType: struct vmod_directors_shard_param
    signature: "struct vmod_directors_shard_param *\nshard_param_task_l(VRT_CTX, const
      void *id, const char *who,\n   const struct vmod_directors_shard_param *pa)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:960,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:961,1
    - Dst: shard_fail
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:964,1
    - Dst: shard_param_task_l
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:968,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - p
    - who
    argTypes:
    - struct vmod_directors_shard_param*
    - char*
    assertStmts:
    - condition: (ctx->method & VCL_MET_TASK_H)
      pos:
        line_end: 969
        line_start: 969
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 973
      start: 956
    functionDepth: 4
    functionLinenumber: 956
    functionLinenumberEnd: 973
    functionName: shard_param_prep
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shard_param_task_l
    - assert
    - CHECK_OBJ_NOTNULL
    - shard_fail
    linkageType: ''
    returnType: struct vmod_directors_shard_param
    signature: "struct vmod_directors_shard_param *\nshard_param_prep(VRT_CTX, struct
      vmod_directors_shard_param *p,\n    const char *who)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shard_param_set_mask
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:979,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:981,1
    - Dst: shard_param_prep
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:983,1
    - Dst: shard_param_args
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - a
    argTypes:
    - struct vmod_directors_shard_param*
    - struct VARGS*
    assertStmts:
    - condition: ((args & ~arg_mask_set_) == 0)
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    constantsTouched: []
    func_position:
      end: 989
      start: 976
    functionDepth: 5
    functionLinenumber: 976
    functionLinenumberEnd: 989
    functionName: vmod_shard_param_set
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - assert
    - shard_param_prep
    - shard_param_args
    - shard_param_set_mask
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_set(VRT_CTX, struct vmod_directors_shard_param
      *p,\n\t\t     struct VARGS(shard_param_set) *a)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shard_param_prep
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 992
    functionDepth: 5
    functionLinenumber: 992
    functionLinenumberEnd: 999
    functionName: vmod_shard_param_clear
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - shard_param_prep
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_clear(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1008,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1009,1
    - Dst: shard_param_task_r
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1012,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1014,1
    - Dst: shard_param_stack
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1015,1
    - Dst: shard_param_merge
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - id
    - who
    - p
    - pstk
    argTypes:
    - void*
    - char*
    - struct vmod_directors_shard_param*
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1018
    functionName: vmod_shard_param_read
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 1
    functionsReached:
    - shard_param_task_r
    - shard_param_stack
    - shard_param_merge
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: struct vmod_directors_shard_param
    signature: "struct vmod_directors_shard_param *\nvmod_shard_param_read(VRT_CTX,
      const void *id, const char *who,\n    const struct vmod_directors_shard_param
      *p,\n    struct vmod_directors_shard_param *pstk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmod_shard_param_read
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1027,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1028,1
    - Dst: default_by
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1021
    functionDepth: 5
    functionLinenumber: 1021
    functionLinenumberEnd: 1030
    functionName: vmod_shard_param_get_by
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - vmod_shard_param_read
    - CHECK_OBJ_NOTNULL
    - default_by
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_get_by(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmod_shard_param_read
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1039,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1040,1
    - Dst: shard_get_key
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1033
    functionDepth: 5
    functionLinenumber: 1033
    functionLinenumberEnd: 1042
    functionName: vmod_shard_param_get_key
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - vmod_shard_param_read
    - shard_get_key
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_get_key(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmod_shard_param_read
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1050,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1044
    functionDepth: 5
    functionLinenumber: 1044
    functionLinenumberEnd: 1053
    functionName: vmod_shard_param_get_alt
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - vmod_shard_param_read
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_get_alt(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmod_shard_param_read
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1062,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1056
    functionDepth: 5
    functionLinenumber: 1056
    functionLinenumberEnd: 1065
    functionName: vmod_shard_param_get_warmup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - vmod_shard_param_read
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_get_warmup(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmod_shard_param_read
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1074,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1068
    functionDepth: 5
    functionLinenumber: 1068
    functionLinenumberEnd: 1077
    functionName: vmod_shard_param_get_rampup
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - vmod_shard_param_read
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_get_rampup(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmod_shard_param_read
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1086,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1087,1
    - Dst: default_healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 5
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: vmod_shard_param_get_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - vmod_shard_param_read
    - CHECK_OBJ_NOTNULL
    - default_healthy
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_get_healthy(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1096,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - blob
    argTypes:
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1105
    functionName: shard_param_blob
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_ORNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: struct vmod_directors_shard_param
    signature: 'struct vmod_directors_shard_param *

      shard_param_blob(VCL_BLOB blob)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1111,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1112,1
    - Dst: VRT_blob
      Src: /src/vinyl-cache/vmod/vmod_directors_shard.c:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct vmod_directors_shard_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1108
    functionDepth: 9
    functionLinenumber: 1108
    functionLinenumberEnd: 1116
    functionName: vmod_shard_param_use
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard.c
    functionUses: 0
    functionsReached:
    - VRT_blob
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_shard_param_use(VRT_CTX,\n    struct vmod_directors_shard_param
      *p)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:82,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:83,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:85,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:85,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:86,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:88,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:88,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:89,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:91,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:91,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:92,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:94,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:94,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - person
    - someone
    argTypes:
    - VCL_ENUM
    - VCL_ENUM
    assertStmts:
    - condition: (strcmp(person, "phk"))
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - condition: (strcmp(person, "des"))
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - condition: (strcmp(person, "kristian"))
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - condition: (strcmp(person, "mithrandir"))
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: xyzzy_author
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - strcmp
    - assert
    - WRONG
    - VENUM
    linkageType: ''
    returnType: void
    signature: void xyzzy_author(VRT_CTX, VCL_ENUM person, VCL_ENUM someone)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: AN0
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AN0(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: AN1
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AN1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - assert
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: PRIV_FINI
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRIV_FINI(name, assert)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:129,1
    - Dst: strdup
      Src: /src/vinyl-cache/vmod/vmod_debug.c:131,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:134,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:135,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts:
    - condition: (!strcmp(priv->priv, "BAR"))
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - condition: (priv->methods == xyzzy_test_priv_call_methods)
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: xyzzy_test_priv_call
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 1
    functionsReached:
    - assert
    - strdup
    - CHECK_OBJ_NOTNULL
    - strcmp
    linkageType: ''
    returnType: void
    signature: void xyzzy_test_priv_call(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:143,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:144,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_debug.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: xyzzy_test_priv_task_get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_priv_task_get
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void xyzzy_test_priv_task_get(VRT_CTX)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:151,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug.c:153,1
    - Dst: strdup
      Src: /src/vinyl-cache/vmod/vmod_debug.c:156,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug.c:158,1
    - Dst: realloc
      Src: /src/vinyl-cache/vmod/vmod_debug.c:161,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:162,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:162,1
    - Dst: strcat
      Src: /src/vinyl-cache/vmod/vmod_debug.c:165,1
    - Dst: strcat
      Src: /src/vinyl-cache/vmod/vmod_debug.c:166,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug.c:168,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - priv
    - s
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts:
    - condition: (priv->methods == xyzzy_test_priv_task_methods)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 174
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 174
    functionName: xyzzy_test_priv_task
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - strdup
    - assert
    - realloc
    - mylog
    - strlen
    - strcat
    linkageType: ''
    returnType: void
    signature: void xyzzy_test_priv_task(VRT_CTX, struct vmod_priv *priv, VCL_STRING
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:180,1
    - Dst: strdup
      Src: /src/vinyl-cache/vmod/vmod_debug.c:182,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - priv
    - s
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts:
    - condition: (priv->methods == xyzzy_test_priv_top_methods)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: xyzzy_test_priv_top
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - assert
    - strdup
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_test_priv_top(VRT_CTX, struct vmod_priv *priv, VCL_STRING
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:194,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - VCL_BOOL
    assertStmts:
    - condition: (test == 0 || test == 1)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: xyzzy_test_default_bool
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_test_default_bool(VRT_CTX, VCL_BOOL test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:205,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:206,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:207,1
    - Dst: pread
      Src: /src/vinyl-cache/vmod/vmod_debug.c:209,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:210,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:212,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:213,1
    - Dst: strncmp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts:
    - condition: (l > 0)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - condition: (!strncmp(priv_vcl->foo, t, l))
      pos:
        line_end: 212
        line_start: 212
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: xyzzy_test_priv_vcl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 1
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - pread
    - CAST_OBJ_NOTNULL
    - assert
    - strncmp
    linkageType: ''
    returnType: void
    signature: void xyzzy_test_priv_vcl(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:220,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:221,1
    - Dst: http_PrintfHeader
      Src: /src/vinyl-cache/vmod/vmod_debug.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hp
    argTypes:
    - VCL_HTTP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 10
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: xyzzy_rot52
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - http_PrintfHeader
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_rot52(VRT_CTX, VCL_HTTP hp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:231,1
    - Dst: bprintf
      Src: /src/vinyl-cache/vmod/vmod_debug.c:232,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/vmod/vmod_debug.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: xyzzy_argtest
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - bprintf
    - AN
    - WS_Copy
    linkageType: ''
    returnType: void
    signature: void xyzzy_argtest(VRT_CTX, struct VARGS(argtest) *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: xyzzy_vre_limit
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xyzzy_vre_limit(VRT_CTX)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:251,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:252,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:253,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug.c:257,1
    - Dst: VSL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - wrk
    - priv
    - oc
    - event
    argTypes:
    - struct worker*
    - void*
    - struct objcore*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: obj_cb
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - WRONG
    - VSL
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void obj_cb(struct worker *wrk, void *priv, struct objcore *oc, unsigned
      event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:270,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:271,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:272,1
    - Dst: ObjSubscribeEvents
      Src: /src/vinyl-cache/vmod/vmod_debug.c:273,1
    - Dst: VSL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 276
    functionName: xyzzy_register_obj_events
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSL
    - AZ
    - CAST_OBJ_NOTNULL
    - ObjSubscribeEvents
    linkageType: ''
    returnType: void
    signature: void xyzzy_register_obj_events(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 8
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: xyzzy_fail
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void xyzzy_fail(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 8
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: xyzzy_fail2
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void xyzzy_fail2(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:298,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:299,1
    - Dst: close
      Src: /src/vinyl-cache/vmod/vmod_debug.c:299,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:300,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:301,1
    - Dst: unlink
      Src: /src/vinyl-cache/vmod/vmod_debug.c:301,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_debug.c:302,1
    - Dst: ObjUnsubscribeEvents
      Src: /src/vinyl-cache/vmod/vmod_debug.c:304,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug.c:305,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:307,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:308,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: priv_vcl_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - close
    - AN
    - FREE_OBJ
    - unlink
    - AZ
    - CAST_OBJ_NOTNULL
    - VSLb
    - ObjUnsubscribeEvents
    - free
    linkageType: ''
    returnType: void
    signature: void priv_vcl_fini(VRT_CTX, void *priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:323,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_debug.c:328,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:332,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:333,1
    - Dst: strdup
      Src: /src/vinyl-cache/vmod/vmod_debug.c:334,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:335,1
    - Dst: mkstemp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:336,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:337,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:338,1
    - Dst: write
      Src: /src/vinyl-cache/vmod/vmod_debug.c:338,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:338,1
    - Dst: debug_add_filters
      Src: /src/vinyl-cache/vmod/vmod_debug.c:342,1
    - Dst: debug_transport_reembarking_http1_init
      Src: /src/vinyl-cache/vmod/vmod_debug.c:343,1
    - Dst: debug_transport_vai_init
      Src: /src/vinyl-cache/vmod/vmod_debug.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts:
    - condition: (priv_vcl->tmpf >= 0)
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 346
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 346
    functionName: event_load
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - strlen
    - mkstemp
    - AN
    - strdup
    - debug_transport_vai_init
    - assert
    - write
    - VSB_cat
    - debug_transport_reembarking_http1_init
    - debug_add_filters
    - ALLOC_OBJ
    linkageType: ''
    returnType: int
    signature: int event_load(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:354,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:355,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:356,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:357,1
    - Dst: bprintf
      Src: /src/vinyl-cache/vmod/vmod_debug.c:359,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/vmod/vmod_debug.c:359,1
    - Dst: VRT_VCL_Prevent_Cold
      Src: /src/vinyl-cache/vmod/vmod_debug.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: xyzzy_vcl_prevent_cold
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - bprintf
    - AZ
    - CAST_OBJ_NOTNULL
    - VCL_Name
    - VRT_VCL_Prevent_Cold
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_vcl_prevent_cold(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:368,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:369,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:370,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:371,1
    - Dst: VRT_VCL_Allow_Cold
      Src: /src/vinyl-cache/vmod/vmod_debug.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: xyzzy_vcl_allow_cold
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_VCL_Allow_Cold
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_vcl_allow_cold(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:380,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:381,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: xyzzy_cold_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_cold_backend(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:391,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:392,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: xyzzy_cooling_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_cooling_backend(VRT_CTX, struct vmod_priv *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VCL_Name
      Src: /src/vinyl-cache/vmod/vmod_debug.c:407,1
    - Dst: VSLs
      Src: /src/vinyl-cache/vmod/vmod_debug.c:410,1
    - Dst: TOSTRANDS
      Src: /src/vinyl-cache/vmod/vmod_debug.c:410,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:412,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_debug.c:414,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:418,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:419,1
    - Dst: bprintf
      Src: /src/vinyl-cache/vmod/vmod_debug.c:423,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/vmod/vmod_debug.c:423,1
    - Dst: VRT_VCL_Prevent_Discard
      Src: /src/vinyl-cache/vmod/vmod_debug.c:424,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:427,1
    - Dst: VRT_AddDirector
      Src: /src/vinyl-cache/vmod/vmod_debug.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 432
    functionName: event_warm
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_AddDirector
    - AN
    - bprintf
    - CAST_OBJ_NOTNULL
    - AZ
    - VSB_cat
    - TOSTRANDS
    - VRT_VCL_Prevent_Discard
    - VCL_Name
    - VSLs
    linkageType: ''
    returnType: int
    signature: int event_warm(VRT_CTX, const struct vmod_priv *priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:439,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:440,1
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/vmod/vmod_debug.c:442,1
    - Dst: VRT_VCL_Allow_Discard
      Src: /src/vinyl-cache/vmod/vmod_debug.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 445
    functionName: cooldown_thread
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VTIM_sleep
    - AN
    - VRT_VCL_Allow_Discard
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: 'void *

      cooldown_thread(void *priv)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:453,1
    - Dst: INIT_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:455,1
    - Dst: VRT_new_backend
      Src: /src/vinyl-cache/vmod/vmod_debug.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 447
    functionDepth: 6
    functionLinenumber: 447
    functionLinenumberEnd: 459
    functionName: create_cold_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_new_backend
    - INIT_OBJ
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND create_cold_backend(VRT_CTX)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:467,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:469,1
    - Dst: VSL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:471,1
    - Dst: VCL_Name
      Src: /src/vinyl-cache/vmod/vmod_debug.c:471,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/vmod/vmod_debug.c:473,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:476,1
    - Dst: create_cold_backend
      Src: /src/vinyl-cache/vmod/vmod_debug.c:477,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug.c:478,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:482,1
    - Dst: create_cold_backend
      Src: /src/vinyl-cache/vmod/vmod_debug.c:483,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:484,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:488,1
    - Dst: VRT_VCL_Allow_Discard
      Src: /src/vinyl-cache/vmod/vmod_debug.c:489,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:493,1
    - Dst: pthread_create
      Src: /src/vinyl-cache/vmod/vmod_debug.c:493,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:494,1
    - Dst: pthread_detach
      Src: /src/vinyl-cache/vmod/vmod_debug.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - priv
    argTypes:
    - struct vmod_priv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 461
    functionDepth: 7
    functionLinenumber: 461
    functionLinenumberEnd: 496
    functionName: event_cold
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - pthread_detach
    - AN
    - VSL
    - CAST_OBJ_NOTNULL
    - AZ
    - PTOK
    - WRONG
    - pthread_create
    - VCL_Name
    - VRT_DelDirector
    - create_cold_backend
    - VRT_VCL_Allow_Discard
    linkageType: ''
    returnType: int
    signature: int event_cold(VRT_CTX, const struct vmod_priv *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:504,1
    - Dst: debug_remove_filters
      Src: /src/vinyl-cache/vmod/vmod_debug.c:506,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:517,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:517,1
    - Dst: VSC_debug_Destroy
      Src: /src/vinyl-cache/vmod/vmod_debug.c:519,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:522,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 525
    functionName: event_discard
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AZ
    - pthread_mutex_lock
    - PTOK
    - debug_remove_filters
    - VSC_debug_Destroy
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int event_discard(VRT_CTX, void *priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: event_load
      Src: /src/vinyl-cache/vmod/vmod_debug.c:532,1
    - Dst: event_warm
      Src: /src/vinyl-cache/vmod/vmod_debug.c:533,1
    - Dst: event_cold
      Src: /src/vinyl-cache/vmod/vmod_debug.c:534,1
    - Dst: event_discard
      Src: /src/vinyl-cache/vmod/vmod_debug.c:535,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - priv
    - e
    argTypes:
    - struct vmod_priv*
    - enum vcl_event_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 8
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: xyzzy_event_function
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - event_warm
    - event_cold
    - event_discard
    - WRONG
    - event_load
    linkageType: ''
    returnType: void
    signature: void xyzzy_event_function(VRT_CTX, struct vmod_priv *priv, enum vcl_event_e
      e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:545,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:546,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - priv
    - delay
    argTypes:
    - struct vmod_priv*
    - VCL_DURATION
    assertStmts:
    - condition: (delay > 0.0)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 549
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 549
    functionName: xyzzy_vcl_discard_delay
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_vcl_discard_delay(VRT_CTX, struct vmod_priv *priv, VCL_DURATION
      delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:555,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:556,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:557,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - probe
    - same
    argTypes:
    - VCL_PROBE
    - VCL_PROBE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: xyzzy_test_probe
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_ORNULL
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: void xyzzy_test_probe(VRT_CTX, VCL_PROBE probe, VCL_PROBE same)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:565,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:565,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:567,1
    - Dst: VSC_debug_New
      Src: /src/vinyl-cache/vmod/vmod_debug.c:568,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:570,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:571,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:572,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: xyzzy_vsc_new
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - pthread_mutex_lock
    - PTOK
    - VSC_debug_New
    - pthread_mutex_unlock
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_vsc_new(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:579,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:579,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:580,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:582,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cnt
    argTypes:
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: xyzzy_vsc_count
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - PTOK
    - pthread_mutex_unlock
    - AN
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_vsc_count(VRT_CTX, VCL_INT cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:589,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:589,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:591,1
    - Dst: VSC_debug_Destroy
      Src: /src/vinyl-cache/vmod/vmod_debug.c:592,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:594,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_debug.c:596,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_debug.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 597
    functionName: xyzzy_vsc_destroy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - AZ
    - pthread_mutex_lock
    - PTOK
    - VSC_debug_Destroy
    - pthread_mutex_unlock
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_vsc_destroy(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:613,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:614,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:615,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:616,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:618,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:619,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:624,1
    - Dst: malloc
      Src: /src/vinyl-cache/vmod/vmod_debug.c:625,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:626,1
    - Dst: VRT_Strands
      Src: /src/vinyl-cache/vmod/vmod_debug.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - concatp
    - vcl_name
    - s
    argTypes:
    - struct xyzzy_debug_concat**
    - char*
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 629
    functionName: xyzzy_concat__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - malloc
    - ALLOC_OBJ
    - VRT_Strands
    - AZ
    - strlen
    linkageType: ''
    returnType: VCL_VOID
    signature: "VCL_VOID xyzzy_concat__init(VRT_CTX, struct xyzzy_debug_concat **concatp,\n\t\t
      \  const char *vcl_name, VCL_STRANDS s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:637,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_debug.c:638,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug.c:638,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - concatp
    argTypes:
    - struct xyzzy_debug_concat**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 640
    functionName: xyzzy_concat__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TRUST_ME
    - TAKE_OBJ_NOTNULL
    - free
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_concat__fini(struct xyzzy_debug_concat **concatp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:645,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - concat
    argTypes:
    - struct xyzzy_debug_concat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 648
    functionName: xyzzy_concat_get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING xyzzy_concat_get(VRT_CTX, struct xyzzy_debug_concat *concat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:655,1
    - Dst: VRT_StrandsWS
      Src: /src/vinyl-cache/vmod/vmod_debug.c:656,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:658,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/vmod/vmod_debug.c:658,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 660
    functionName: xyzzy_concatenate
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VRT_StrandsWS
    - WS_Allocated
    - strlen
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING xyzzy_concatenate(VRT_CTX, VCL_STRANDS s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:667,1
    - Dst: VRT_STRANDS_string
      Src: /src/vinyl-cache/vmod/vmod_debug.c:668,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:670,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/vmod/vmod_debug.c:670,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 672
    functionName: xyzzy_collect
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VRT_STRANDS_string
    - WS_Allocated
    - strlen
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING xyzzy_collect(VRT_CTX, VCL_STRANDS s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:681,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:683,1
    - Dst: VRT_selecthttp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:686,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:688,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:692,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:693,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:694,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/vmod/vmod_debug.c:696,1
    - Dst: VRT_StrandsWS
      Src: /src/vinyl-cache/vmod/vmod_debug.c:698,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/vmod/vmod_debug.c:700,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/vmod/vmod_debug.c:701,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:704,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/vmod/vmod_debug.c:704,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:704,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/vmod/vmod_debug.c:705,1
    - Dst: http_SetHeader
      Src: /src/vinyl-cache/vmod/vmod_debug.c:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - hdr
    - s
    argTypes:
    - VCL_HEADER
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 675
    functionDepth: 10
    functionLinenumber: 675
    functionLinenumberEnd: 709
    functionName: xyzzy_sethdr
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VRT_StrandsWS
    - http_Unset
    - http_SetHeader
    - VRT_fail
    - WS_Allocated
    - VSLbs
    - strlen
    - TOSTRAND
    - VRT_selecthttp
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_sethdr(VRT_CTX, VCL_HEADER hdr, VCL_STRANDS s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/vinyl-cache/vmod/vmod_debug.c:716,1
    - Dst: VSLbv
      Src: /src/vinyl-cache/vmod/vmod_debug.c:718,1
    - Dst: VSLv
      Src: /src/vinyl-cache/vmod/vmod_debug.c:720,1
    - Dst: va_end
      Src: /src/vinyl-cache/vmod/vmod_debug.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vsl
    - tag
    - fmt
    argTypes:
    - struct vsl_log*
    - enum VSL_tag_e
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 711
    functionDepth: 7
    functionLinenumber: 711
    functionLinenumberEnd: 722
    functionName: mylog
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 2
    functionsReached:
    - VSLbv
    - VSLv
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void mylog(struct vsl_log *vsl, enum VSL_tag_e tag,  const char *fmt,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:733,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_debug.c:736,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:738,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/vmod/vmod_debug.c:744,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_debug.c:747,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:748,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/vmod/vmod_debug.c:753,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug.c:757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - size
    - rounds
    argTypes:
    - VCL_INT
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 724
    functionDepth: 8
    functionLinenumber: 724
    functionLinenumberEnd: 762
    functionName: xyzzy_priv_perf
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VRT_priv_task
    - VRT_fail
    - VTIM_mono
    - mylog
    - VRT_priv_task_get
    linkageType: ''
    returnType: VCL_DURATION
    signature: VCL_DURATION xyzzy_priv_perf(VRT_CTX, VCL_INT size, VCL_INT rounds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:768,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/vmod/vmod_debug.c:770,1
    - Dst: VSLs
      Src: /src/vinyl-cache/vmod/vmod_debug.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - strand
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 764
    functionDepth: 6
    functionLinenumber: 764
    functionLinenumberEnd: 774
    functionName: xyzzy_return_strands
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VSLbs
    - VSLs
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_STRANDS
    signature: VCL_STRANDS xyzzy_return_strands(VRT_CTX, VCL_STRANDS strand)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 781
    functionName: xyzzy_return_null_strands
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VCL_STRANDS
    signature: VCL_STRANDS xyzzy_return_null_strands(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: xyzzy_is_null_strands
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL xyzzy_is_null_strands(VRT_CTX, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:793,1
    - Dst: VSL_Flush
      Src: /src/vinyl-cache/vmod/vmod_debug.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 790
    functionDepth: 4
    functionLinenumber: 790
    functionLinenumberEnd: 795
    functionName: xyzzy_vsl_flush
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VSL_Flush
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_vsl_flush(VRT_CTX)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:804,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:805,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:806,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:811,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:813,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug.c:815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - req
    - oc
    - oc_exp
    - state
    argTypes:
    - struct req*
    - struct objcore**
    - struct objcore**
    - int
    assertStmts:
    - condition: (req->vcf->func == xyzzy_catflap_simple)
      pos:
        line_end: 805
        line_start: 805
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 818
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 818
    functionName: xyzzy_catflap_simple
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - assert
    - WRONG
    - VENUM
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void xyzzy_catflap_simple(struct req *req, struct objcore **oc,\n
      \   struct objcore **oc_exp, int state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:825,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:826,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:827,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:831,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:832,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:837,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - req
    - oc
    - oc_exp
    - state
    argTypes:
    - struct req*
    - struct objcore**
    - struct objcore**
    - int
    assertStmts:
    - condition: (req->vcf->func == xyzzy_catflap_last)
      pos:
        line_end: 826
        line_start: 826
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 843
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 843
    functionName: xyzzy_catflap_last
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void xyzzy_catflap_last(struct req *req, struct objcore **oc,\n    struct
      objcore **oc_exp, int state)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:850,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:852,1
    - Dst: XXXAZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:853,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:854,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:857,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:857,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug.c:859,1
    - Dst: VENUM
      Src: /src/vinyl-cache/vmod/vmod_debug.c:860,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug.c:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 865
    functionName: xyzzy_catflap
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - WS_TASK_ALLOC_OBJ
    - TRUST_ME
    - VENUM
    - WRONG
    - XXXAZ
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_catflap(VRT_CTX, VCL_ENUM type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug.c:874,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 884
    functionName: xyzzy_stk
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - TRUST_ME
    linkageType: ''
    returnType: VCL_BYTES
    signature: VCL_BYTES xyzzy_stk(VRT_CTX)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:892,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:895,1
    - Dst: INCOMPL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:896,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:899,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:900,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:904,1
    - Dst: xxxassert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:908,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:918,1
    - Dst: getsockopt
      Src: /src/vinyl-cache/vmod/vmod_debug.c:918,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:921,1
    - Dst: setsockopt
      Src: /src/vinyl-cache/vmod/vmod_debug.c:921,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:922,1
    - Dst: getsockopt
      Src: /src/vinyl-cache/vmod/vmod_debug.c:922,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:924,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - VCL_BYTES
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 886
    functionDepth: 8
    functionLinenumber: 886
    functionLinenumberEnd: 927
    functionName: xyzzy_sndbuf
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - xxxassert
    - CHECK_OBJ_NOTNULL
    - AZ
    - VRT_fail
    - getsockopt
    - setsockopt
    - INCOMPL
    - CHECK_OBJ
    - VSLb
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_sndbuf(VRT_CTX, VCL_BYTES arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:934,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_debug.c:936,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:938,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:942,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:943,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/vmod/vmod_debug.c:943,1
    - Dst: TRUST_ME
      Src: /src/vinyl-cache/vmod/vmod_debug.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ip
    argTypes:
    - VCL_IP
    assertStmts:
    - condition: (VSA_Sane(ip))
      pos:
        line_end: 942
        line_start: 942
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 8
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: xyzzy_store_ip
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - AZ
    - VRT_priv_task
    - assert
    - VRT_fail
    - VSA_Sane
    - TRUST_ME
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_store_ip(VRT_CTX, VCL_IP ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:953,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_debug.c:955,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:956,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:957,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:960,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/vmod/vmod_debug.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (VSA_Sane(ip))
      pos:
        line_end: 959
        line_start: 959
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: xyzzy_get_ip
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VSA_Sane
    - VRT_priv_task_get
    linkageType: ''
    returnType: VCL_IP
    signature: VCL_IP xyzzy_get_ip(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 970
    functionName: (debug_director)
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct VPFX
    signature: struct VPFX (debug_director)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:989,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:990,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:991,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:992,1
    - Dst: VRT_AddDirector
      Src: /src/vinyl-cache/vmod/vmod_debug.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - dp
    - vcl_name
    argTypes:
    - struct VPFX**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 984
    functionDepth: 4
    functionLinenumber: 984
    functionLinenumberEnd: 997
    functionName: xyzzy_director__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_AddDirector
    - AN
    - ALLOC_OBJ
    - AZ
    linkageType: ''
    returnType: void
    signature: "void xyzzy_director__init(VRT_CTX, struct VPFX(debug_director) **dp,\n
      \   const char *vcl_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1004,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1005,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct VPFX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1007
    functionName: xyzzy_director__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    - VRT_DelDirector
    linkageType: ''
    returnType: void
    signature: void xyzzy_director__fini(struct VPFX(debug_director) **dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct VPFX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1016
    functionName: xyzzy_director_fail
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_director_fail(VRT_CTX, struct VPFX(debug_director) *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1021,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dir
    - changed
    argTypes:
    - VCL_BACKEND
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1019
    functionDepth: 8
    functionLinenumber: 1019
    functionLinenumberEnd: 1028
    functionName: vmod_debug_director_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_debug_director_healthy(VRT_CTX, VCL_BACKEND dir, VCL_TIME
      *changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1033,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1031
    functionDepth: 8
    functionLinenumber: 1031
    functionLinenumberEnd: 1039
    functionName: vmod_debug_director_resolve
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_debug_director_resolve(VRT_CTX, VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1044,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1047
    functionName: xyzzy_client_ip
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - SES_Get_String_Attr
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_client_ip(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1052,1
    - Dst: SES_Get_String_Attr
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1055
    functionName: xyzzy_client_port
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - SES_Get_String_Attr
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_client_port(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1063,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1064,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (priv == fail_magic)
      pos:
        line_end: 1063
        line_start: 1063
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 1067
      start: 1059
    functionDepth: 8
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: fail_f
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void fail_f(VRT_CTX, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1080,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1082,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1084,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1089,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1090,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (p->methods == xyzzy_fail_task_fini_methods)
      pos:
        line_end: 1089
        line_start: 1089
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - condition: (p->priv == fail_magic)
      pos:
        line_end: 1088
        line_start: 1088
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    constantsTouched: []
    func_position:
      end: 1096
      start: 1076
    functionDepth: 8
    functionLinenumber: 1076
    functionLinenumberEnd: 1096
    functionName: xyzzy_fail_task_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_priv_task
    - assert
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void xyzzy_fail_task_fini(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1103,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1105,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1099
    functionDepth: 8
    functionLinenumber: 1099
    functionLinenumberEnd: 1113
    functionName: xyzzy_ok_task_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_priv_task
    - CHECK_OBJ_NOTNULL
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void xyzzy_ok_task_fini(VRT_CTX)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1121,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1122,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1123,1
    - Dst: VRE_quote
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1124,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1125,1
    - Dst: WS_MarkOverflow
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1129
    functionName: xyzzy_re_quote
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRE_quote
    - CHECK_OBJ_NOTNULL
    - WS_MarkOverflow
    - WS_VSB_new
    - WS_VSB_finish
    linkageType: ''
    returnType: void
    signature: void xyzzy_re_quote(VRT_CTX, VCL_STRING s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1135,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1136,1
    - Dst: WS_Copy
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1140
    functionName: xyzzy_priv_task_with_option
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - WS_Copy
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_priv_task_with_option(VRT_CTX, struct VARGS(priv_task_with_option)
      *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1145,1
    - Dst: VRT_ValidHdr
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1147
    functionName: xyzzy_validhdr
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRT_ValidHdr
    linkageType: ''
    returnType: void
    signature: void xyzzy_validhdr(VRT_CTX, VCL_STRANDS s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1153,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - r
    argTypes:
    - VCL_REGEX
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1156
    functionName: xyzzy_just_return_regex
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_just_return_regex(VRT_CTX, VCL_REGEX r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_call
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sub
    argTypes:
    - VCL_SUB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1164
    functionName: xyzzy_call
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_call
    linkageType: ''
    returnType: void
    signature: void xyzzy_call(VRT_CTX, VCL_SUB sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_check_call
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sub
    argTypes:
    - VCL_SUB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1167
    functionDepth: 3
    functionLinenumber: 1167
    functionLinenumberEnd: 1170
    functionName: xyzzy_check_call
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - VRT_check_call
    linkageType: ''
    returnType: void
    signature: void xyzzy_check_call(VRT_CTX, VCL_SUB sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sub
    argTypes:
    - VCL_SUB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1184
    functionName: xyzzy_bad_memory
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xyzzy_bad_memory(VRT_CTX, VCL_SUB sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1192
    functionName: xyzzy_total_recall
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xyzzy_total_recall(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1200
    functionName: (debug_caller)
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct VPFX
    signature: struct VPFX (debug_caller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1208,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1209,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1210,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1211,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1212,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1214,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - callerp
    - name
    - sub
    argTypes:
    - struct VPFX**
    - char*
    - VCL_SUB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1218
    functionName: xyzzy_caller__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - ALLOC_OBJ
    - CHECK_OBJ_NOTNULL
    - AZ
    linkageType: ''
    returnType: void
    signature: "void xyzzy_caller__init(VRT_CTX, struct VPFX(debug_caller) **callerp,\n
      \   const char *name, VCL_SUB sub)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1227,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - callerp
    argTypes:
    - struct VPFX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1229
    functionName: xyzzy_caller__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_caller__fini(struct VPFX(debug_caller) **callerp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1234,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1235,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1236,1
    - Dst: VRT_call
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - caller
    argTypes:
    - struct VPFX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1239
    functionName: xyzzy_caller_call
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_call
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_caller_call(VRT_CTX, struct VPFX(debug_caller) *caller)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1244,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1245,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - caller
    argTypes:
    - struct VPFX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1249
    functionName: xyzzy_caller_xsub
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_caller_xsub(VRT_CTX, struct VPFX(debug_caller) *caller)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1264,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1265,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1266,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1267,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1271,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - priv
    - sa
    argTypes:
    - void*
    - struct suckaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1273
    functionName: resolve_cb
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - strcmp
    - VSB_len
    - VTCP_name
    linkageType: ''
    returnType: void
    signature: void resolve_cb(void *priv, const struct suckaddr *sa)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1282,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1285,1
    - Dst: WS_VSB_new
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1286,1
    - Dst: VSS_resolver_range
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1289,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1291,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1291,1
    - Dst: WS_VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1294
    functionName: xyzzy_resolve_range
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VSB_printf
    - memset
    - VSB_len
    - WS_VSB_new
    - VSS_resolver_range
    - WS_VSB_finish
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING xyzzy_resolve_range(VRT_CTX, struct VARGS(resolve_range)
      *args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_transport_reembarking_http1_use
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1296
    functionDepth: 9
    functionLinenumber: 1296
    functionLinenumberEnd: 1300
    functionName: xyzzy_use_reembarking_http1
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - debug_transport_reembarking_http1_use
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_use_reembarking_http1(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_transport_vai_use
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1302
    functionDepth: 9
    functionLinenumber: 1302
    functionLinenumberEnd: 1306
    functionName: xyzzy_use_vai_http1
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - debug_transport_vai_use
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_use_vai_http1(VRT_CTX)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ObjGetAttr
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - wrk
    - oc
    - p
    argTypes:
    - struct worker*
    - struct objcore*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1324
    functionName: in_oc
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - ObjGetAttr
    linkageType: ''
    returnType: int
    signature: int in_oc(struct worker *wrk, struct objcore *oc, const char *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1345,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1347,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1350,1
    - Dst: WS_Allocated
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1352,1
    - Dst: in_oc
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1354,1
    - Dst: in_oc
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1326
    functionDepth: 3
    functionLinenumber: 1326
    functionLinenumberEnd: 1359
    functionName: ptr_where
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - WS_Allocated
    - AN
    - WRONG
    - in_oc
    linkageType: ''
    returnType: char
    signature: 'char *

      ptr_where(VRT_CTX, const char *p)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1366,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1369,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1377,1
    - Dst: mylog
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1380,1
    - Dst: ptr_where
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1381,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_debug.c:1381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - prefix
    - subject
    - nn
    argTypes:
    - VCL_STRING
    - VCL_STRANDS
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1361
    functionDepth: 8
    functionLinenumber: 1361
    functionLinenumberEnd: 1383
    functionName: xyzzy_log_strands
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - ptr_where
    - mylog
    - strlen
    linkageType: ''
    returnType: VCL_VOID
    signature: VCL_VOID xyzzy_log_strands(VRT_CTX, VCL_STRING prefix, VCL_STRANDS
      subject, VCL_INT nn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:71,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:72,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:74,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:74,1
    - Dst: VTAILQ_REMOVE
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:78,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:79,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:79,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:81,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:82,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: fini_frfile
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_fileread.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - FREE_OBJ
    - CAST_OBJ_NOTNULL
    - pthread_mutex_lock
    - PTOK
    - VTAILQ_REMOVE
    - pthread_mutex_unlock
    - free
    linkageType: ''
    returnType: void
    signature: void fini_frfile(VRT_CTX, void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:100,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:106,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:107,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:111,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:111,1
    - Dst: VTAILQ_FOREACH
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:114,1
    - Dst: strcmp
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:115,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:120,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:120,1
    - Dst: VFIL_readfile
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:127,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:129,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:130,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:131,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:132,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:140,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:140,1
    - Dst: VTAILQ_INSERT_HEAD
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:141,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:142,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - priv
    - file_name
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts:
    - condition: (sz > 0)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/vinyl-cache/vmod/vmod_std_fileread.c
    constantsTouched: []
    func_position:
      end: 145
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 145
    functionName: find_frfile
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_fileread.c
    functionUses: 0
    functionsReached:
    - AN
    - VTAILQ_INSERT_HEAD
    - VFIL_readfile
    - REPLACE
    - strcmp
    - pthread_mutex_lock
    - PTOK
    - CAST_OBJ_NOTNULL
    - assert
    - pthread_mutex_unlock
    - VTAILQ_FOREACH
    - ALLOC_OBJ
    linkageType: ''
    returnType: struct frfile
    signature: 'struct frfile *

      find_frfile(struct vmod_priv *priv, VCL_STRING file_name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:152,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:153,1
    - Dst: find_frfile
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - file_name
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: vmod_fileread
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_fileread.c
    functionUses: 0
    functionsReached:
    - find_frfile
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_fileread(VRT_CTX, struct vmod_priv *priv, VCL_STRING file_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:166,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:167,1
    - Dst: find_frfile
      Src: /src/vinyl-cache/vmod/vmod_std_fileread.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - priv
    - file_name
    argTypes:
    - struct vmod_priv*
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: vmod_blobread
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_fileread.c
    functionUses: 0
    functionsReached:
    - find_frfile
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_blobread(VRT_CTX, struct vmod_priv *priv, VCL_STRING file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:51,1
    - Dst: VRT_LookupDirector
      Src: /src/vinyl-cache/vmod/vmod_directors.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: VPFX
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 0
    functionsReached:
    - VRT_LookupDirector
    - AN
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND VPFX(lookup)(VRT_CTX, VCL_STRING name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:58,1
    - Dst: realloc
      Src: /src/vinyl-cache/vmod/vmod_directors.c:60,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:61,1
    - Dst: realloc
      Src: /src/vinyl-cache/vmod/vmod_directors.c:62,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:63,1
    - Dst: vbit_expand
      Src: /src/vinyl-cache/vmod/vmod_directors.c:65,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - vd
    - n
    argTypes:
    - struct vdir*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: vdir_expand
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 0
    functionsReached:
    - vbit_expand
    - AN
    - CHECK_OBJ_NOTNULL
    - realloc
    linkageType: ''
    returnType: void
    signature: void vdir_expand(struct vdir *vd, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:76,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:77,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:78,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:79,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors.c:80,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors.c:81,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:82,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors.c:84,1
    - Dst: pthread_rwlock_init
      Src: /src/vinyl-cache/vmod/vmod_directors.c:84,1
    - Dst: VRT_AddDirector
      Src: /src/vinyl-cache/vmod/vmod_directors.c:85,1
    - Dst: vbit_new
      Src: /src/vinyl-cache/vmod/vmod_directors.c:86,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - vdp
    - vcl_name
    - m
    - priv
    argTypes:
    - struct vdir**
    - char*
    - struct vdi_methods*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: vdir_new
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - VRT_AddDirector
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - pthread_rwlock_init
    - PTOK
    - vbit_new
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void vdir_new(VRT_CTX, struct vdir **vdp, const char *vcl_name,\n
      \   const struct vdi_methods *m, void *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:95,1
    - Dst: vdir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:97,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/vmod/vmod_directors.c:99,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vdir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: vdir_release
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - vdir_unlock
    - vdir_wrlock
    - VRT_Assign_Backend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdir_release(struct vdir *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:109,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors.c:111,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors.c:112,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_directors.c:113,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_directors.c:114,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors.c:115,1
    - Dst: pthread_rwlock_destroy
      Src: /src/vinyl-cache/vmod/vmod_directors.c:115,1
    - Dst: vbit_destroy
      Src: /src/vinyl-cache/vmod/vmod_directors.c:116,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - vdp
    argTypes:
    - struct vdir**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: vdir_delete
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - vbit_destroy
    - AZ
    - PTOK
    - pthread_rwlock_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void vdir_delete(struct vdir **vdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:123,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors.c:124,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vdir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: vdir_rdlock
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 1
    functionsReached:
    - PTOK
    - pthread_rwlock_rdlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdir_rdlock(struct vdir *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:130,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors.c:131,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vdir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: vdir_wrlock
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - PTOK
    - CHECK_OBJ_NOTNULL
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void vdir_wrlock(struct vdir *vd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:137,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_directors.c:138,1
    - Dst: pthread_rwlock_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vdir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: vdir_unlock
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 3
    functionsReached:
    - PTOK
    - pthread_rwlock_unlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vdir_unlock(struct vdir *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:147,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:148,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_directors.c:150,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/vmod/vmod_directors.c:151,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:154,1
    - Dst: vdir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:155,1
    - Dst: vdir_expand
      Src: /src/vinyl-cache/vmod/vmod_directors.c:157,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors.c:158,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/vmod/vmod_directors.c:161,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - vd
    - be
    - weight
    argTypes:
    - struct vdir*
    - VCL_BACKEND
    - double
    assertStmts:
    - condition: (vd->n_backend < vd->l_backend)
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/vinyl-cache/vmod/vmod_directors.c
    constantsTouched: []
    func_position:
      end: 164
      start: 142
    functionDepth: 8
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: vdir_add_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - vdir_expand
    - VRT_BACKEND_string
    - vdir_wrlock
    - VRT_fail
    - assert
    - VRT_Assign_Backend
    - vdir_unlock
    linkageType: ''
    returnType: void
    signature: void vdir_add_backend(VRT_CTX, struct vdir *vd, VCL_BACKEND be, double
      weight)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:171,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:172,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_directors.c:174,1
    - Dst: VRT_BACKEND_string
      Src: /src/vinyl-cache/vmod/vmod_directors.c:175,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors.c:178,1
    - Dst: vdir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:179,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:184,1
    - Dst: VRT_Assign_Backend
      Src: /src/vinyl-cache/vmod/vmod_directors.c:187,1
    - Dst: memmove
      Src: /src/vinyl-cache/vmod/vmod_directors.c:189,1
    - Dst: memmove
      Src: /src/vinyl-cache/vmod/vmod_directors.c:190,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors.c:194,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - vd
    - be
    - cur
    argTypes:
    - struct vdir*
    - VCL_BACKEND
    - unsigned*
    assertStmts:
    - condition: (*cur <= vd->n_backend)
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/vinyl-cache/vmod/vmod_directors.c
    constantsTouched: []
    func_position:
      end: 201
      start: 166
    functionDepth: 8
    functionLinenumber: 166
    functionLinenumberEnd: 201
    functionName: vdir_remove_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - VRT_BACKEND_string
    - vdir_wrlock
    - VRT_fail
    - assert
    - memmove
    - VRT_Assign_Backend
    - vdir_unlock
    - CHECK_OBJ
    linkageType: ''
    returnType: void
    signature: void vdir_remove_backend(VRT_CTX, struct vdir *vd, VCL_BACKEND be,
      unsigned *cur)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:211,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:212,1
    - Dst: vdir_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:213,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:218,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_directors.c:219,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - vd
    - changed
    argTypes:
    - struct vdir*
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: vdir_any_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - vdir_rdlock
    - VRT_Healthy
    - vdir_unlock
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: VCL_BOOL
    signature: VCL_BOOL vdir_any_healthy(VRT_CTX, struct vdir *vd, VCL_TIME *changed)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:238,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:239,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:243,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors.c:244,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors.c:246,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:248,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors.c:249,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:251,1
    - Dst: vdir_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:255,1
    - Dst: vdir_update_health
      Src: /src/vinyl-cache/vmod/vmod_directors.c:256,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:259,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/vmod/vmod_directors.c:261,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:267,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors.c:268,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors.c:269,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors.c:272,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:275,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:277,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors.c:279,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:280,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:282,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:283,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors.c:285,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:288,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:289,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:290,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:295,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:298,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors.c:299,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:300,1
    - Dst: VSB_indent
      Src: /src/vinyl-cache/vmod/vmod_directors.c:301,1
    - Dst: VSB_cat
      Src: /src/vinyl-cache/vmod/vmod_directors.c:302,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors.c:309,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_directors.c:312,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 5
    argNames:
    - vd
    - vsb
    - pflag
    - jflag
    - weight
    argTypes:
    - struct vdir*
    - struct vsb*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 313
    functionName: vdir_list
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 1
    functionsReached:
    - VSB_indent
    - vdir_update_health
    - CHECK_OBJ_NOTNULL
    - vbit_test
    - vdir_rdlock
    - VSB_printf
    - VSB_cat
    - vdir_unlock
    linkageType: ''
    returnType: void
    signature: "void vdir_list(VRT_CTX, struct vdir *vd, struct vsb *vsb, int pflag,
      int jflag,\n    int weight)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:340,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:344,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_directors.c:346,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/vmod/vmod_directors.c:353,1
    - Dst: vbit_set
      Src: /src/vinyl-cache/vmod/vmod_directors.c:355,1
    - Dst: vbit_clr
      Src: /src/vinyl-cache/vmod/vmod_directors.c:357,1
    - Dst: VRT_SetChanged
      Src: /src/vinyl-cache/vmod/vmod_directors.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - vd
    argTypes:
    - struct vdir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 363
    functionName: vdir_update_health
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 2
    functionsReached:
    - vbit_set
    - vbit_test
    - CHECK_OBJ_NOTNULL
    - VRT_SetChanged
    - VRT_Healthy
    - vbit_clr
    linkageType: ''
    returnType: void
    signature: void vdir_update_health(VRT_CTX, struct vdir *vd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors.c:372,1
    - Dst: vbit_test
      Src: /src/vinyl-cache/vmod/vmod_directors.c:374,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_directors.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - vd
    - w
    argTypes:
    - struct vdir*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 381
    functionName: vdir_pick_by_weight
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 0
    functionsReached:
    - AN
    - WRONG
    - vbit_test
    linkageType: ''
    returnType: unsigned
    signature: unsigned vdir_pick_by_weight(const struct vdir *vd, double w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:389,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:390,1
    - Dst: vdir_wrlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:391,1
    - Dst: vdir_update_health
      Src: /src/vinyl-cache/vmod/vmod_directors.c:392,1
    - Dst: vdir_pick_by_weight
      Src: /src/vinyl-cache/vmod/vmod_directors.c:394,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors.c:395,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors.c:397,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - vd
    - w
    argTypes:
    - struct vdir*
    - double
    assertStmts:
    - condition: (u < vd->n_backend)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/vinyl-cache/vmod/vmod_directors.c
    constantsTouched: []
    func_position:
      end: 401
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 401
    functionName: vdir_pick_be
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors.c
    functionUses: 1
    functionsReached:
    - vdir_update_health
    - CHECK_OBJ_NOTNULL
    - vdir_wrlock
    - assert
    - vdir_pick_by_weight
    - vdir_unlock
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND vdir_pick_be(VRT_CTX, struct vdir *vd, double w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: url_encode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t url_encode_l(size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: url_decode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t url_decode_l(size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: isunreserved
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isunreserved(const uint8_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: isoutofrange
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isoutofrange(const uint8_t c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:92,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:93,1
    - Dst: isunreserved
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - enc
    - kase
    - buf
    - buflen
    - in
    - inlen
    argTypes:
    - enum encoding
    - enum case_e
    - blob_dest_t
    - blob_len_t
    - blob_src_t
    - blob_len_t
    assertStmts:
    - condition: (enc == URL)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/vmod/vmod_blob_url.c
    constantsTouched: []
    func_position:
      end: 116
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 116
    functionName: url_encode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_url.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - isunreserved
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t url_encode(const enum encoding enc, const enum case_e kase,\n
      \   blob_dest_t buf, blob_len_t buflen,\n    blob_src_t in, blob_len_t inlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:130,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:131,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:132,1
    - Dst: isoutofrange
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:156,1
    - Dst: isoutofrange
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:168,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:178,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_url.c:188,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 5
    argNames:
    - dec
    - buf
    - buflen
    - n
    - strings
    argTypes:
    - enum encoding
    - blob_dest_t
    - blob_len_t
    - ssize_t
    - VCL_STRANDS
    assertStmts:
    - condition: (dec == URL)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vinyl-cache/vmod/vmod_blob_url.c
    - condition: (dest <= end)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/vinyl-cache/vmod/vmod_blob_url.c
    constantsTouched: []
    func_position:
      end: 190
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 190
    functionName: url_decode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_url.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - WRONG
    - isoutofrange
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t url_decode(const enum encoding dec, blob_dest_t buf,\n    blob_len_t
      buflen, ssize_t n, VCL_STRANDS strings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 9
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: xyzzy_vfp_rot13_pull
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - VFP_Suck
    linkageType: ''
    returnType: void
    signature: "void xyzzy_vfp_rot13_pull(struct vfp_ctx *vc, struct vfp_entry *vfe,
      void *p,\n    ssize_t *lp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:87,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:88,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:89,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:90,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:91,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:93,1
    - Dst: malloc
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: xyzzy_vdp_rot13_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_ORNULL
    - AN
    - malloc
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_vdp_rot13_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:110,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:111,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:112,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:114,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:115,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:129,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 138
    functionName: xyzzy_vdp_rot13_bytes
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VDP_bytes
    linkageType: ''
    returnType: void
    signature: "void xyzzy_vdp_rot13_bytes(struct vdp_ctx *vdc, enum vdp_action act,
      void **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:144,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: xyzzy_vdp_rot13_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - free
    linkageType: ''
    returnType: void
    signature: void xyzzy_vdp_rot13_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:161,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:163,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: xyzzy_rot104
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - VRT_AddFilter
    linkageType: ''
    returnType: void
    signature: void xyzzy_rot104(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:178,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:179,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:180,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:181,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:182,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:183,1
    - Dst: http_Unset
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 9
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: xyzzy_vdp_chunked_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - http_Unset
    - CHECK_OBJ_ORNULL
    - AN
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_vdp_chunked_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:225,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:226,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - priv
    argTypes:
    - void*
    assertStmts:
    - condition: (vdps->state == VDPS_FINI)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: priv_pedantic_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - assert
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void priv_pedantic_fini(VRT_CTX, void *priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:243,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:244,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:245,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:246,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:248,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:250,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:253,1
    - Dst: VRT_priv_task
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts:
    - condition: (vdps->state == VDPS_NULL)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    constantsTouched: []
    func_position:
      end: 266
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 266
    functionName: xyzzy_pedantic_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - assert
    - VRT_priv_task
    - WS_TASK_ALLOC_OBJ
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_pedantic_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:274,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:275,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:276,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts:
    - condition: (vdps->state >= VDPS_INIT)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - condition: (vdps->state < VDPS_END)
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: xyzzy_pedantic_bytes
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - assert
    - VDP_bytes
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void xyzzy_pedantic_bytes(struct vdp_ctx *vdc, enum vdp_action act,
      void **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:292,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:295,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts:
    - condition: (vdps->state == VDPS_INIT || vdps->state == VDPS_END)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    constantsTouched: []
    func_position:
      end: 300
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 300
    functionName: xyzzy_pedantic_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - assert
    - AN
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_pedantic_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:323,1
    - Dst: VFP_Suck
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - vc
    - vfe
    - p
    - lp
    argTypes:
    - struct vfp_ctx*
    - struct vfp_entry*
    - void*
    - ssize_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 9
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: xyzzy_vfp_slow_pull
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - VFP_Suck
    - VTIM_sleep
    linkageType: ''
    returnType: void
    signature: "void xyzzy_vfp_slow_pull(struct vfp_ctx *vc, struct vfp_entry *vfe,
      void *p,\n    ssize_t *lp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTIM_sleep
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:340,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: xyzzy_vdp_slow_bytes
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - VTIM_sleep
    - VDP_bytes
    linkageType: ''
    returnType: void
    signature: "void xyzzy_vdp_slow_bytes(struct vdp_ctx *vdc, enum vdp_action act,
      void **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:424,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:425,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:426,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:427,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:428,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:429,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:431,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:434,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:436,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:440,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts:
    - condition: (p->len == sizeof(struct vdp_chksha256_cfg_s))
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: xyzzy_chksha256_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - VRT_priv_task_get
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    - assert
    - WS_TASK_ALLOC_OBJ
    - CHECK_OBJ_ORNULL
    - VSHA256_Init
    linkageType: ''
    returnType: void
    signature: void xyzzy_chksha256_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:453,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:454,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:455,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:456,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:457,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:458,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:460,1
    - Dst: crc32
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:463,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:465,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:469,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts:
    - condition: (p->len == sizeof(struct vdp_chkcrc32_cfg_s))
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 4
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: xyzzy_chkcrc32_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - crc32
    - CAST_OBJ_NOTNULL
    - assert
    - WS_TASK_ALLOC_OBJ
    - CHECK_OBJ_ORNULL
    - VRT_priv_task_get
    linkageType: ''
    returnType: void
    signature: void xyzzy_chkcrc32_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:482,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:483,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:484,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:485,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:486,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:487,1
    - Dst: WS_TASK_ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:489,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:492,1
    - Dst: VRT_priv_task_get
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:494,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:498,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts:
    - condition: (p->len == sizeof(struct vdp_chklen_cfg_s))
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    constantsTouched: []
    func_position:
      end: 503
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 503
    functionName: xyzzy_chklen_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - CAST_OBJ_NOTNULL
    - WS_TASK_ALLOC_OBJ
    - CHECK_OBJ_ORNULL
    - VRT_priv_task_get
    linkageType: ''
    returnType: void
    signature: void xyzzy_chklen_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:511,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:513,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: xyzzy_chksha256_bytes
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - VDP_bytes
    - VSHA256_Update
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void xyzzy_chksha256_bytes(struct vdp_ctx *vdc, enum vdp_action act,
      void **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:525,1
    - Dst: crc32
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:527,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 531
    functionName: xyzzy_chkcrc32_bytes
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - VDP_bytes
    - crc32
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void xyzzy_chkcrc32_bytes(struct vdp_ctx *vdc, enum vdp_action act,
      void **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:539,1
    - Dst: VDP_bytes
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - vdc
    - act
    - priv
    - ptr
    - len
    argTypes:
    - struct vdp_ctx*
    - enum vdp_action
    - void**
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 543
    functionName: xyzzy_chklen_bytes
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - VDP_bytes
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void xyzzy_chklen_bytes(struct vdp_ctx *vdc, enum vdp_action act,
      void **priv,\n    const void *ptr, ssize_t len)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:555,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:558,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:560,1
    - Dst: memcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:561,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:570,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:572,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:573,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:574,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:575,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:575,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:576,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:576,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:578,1
    - Dst: VSB_quote
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:579,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:580,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:580,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:581,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:581,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:582,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:585,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 546
    functionDepth: 4
    functionLinenumber: 546
    functionLinenumberEnd: 590
    functionName: xyzzy_chksha256_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - VSB_destroy
    - AN
    - TAKE_OBJ_NOTNULL
    - VSHA256_Final
    - VSB_finish
    - VSB_clear
    - AZ
    - VSB_quote
    - WRONG
    - VSB_data
    - memcmp
    - VSB_new_auto
    - VSLb
    linkageType: ''
    returnType: void
    signature: void xyzzy_chksha256_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:599,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:602,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:612,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:613,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:614,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:617,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 622
    functionName: xyzzy_chkcrc32_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - WRONG
    - VSLb
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_chkcrc32_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:631,1
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:634,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:644,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:645,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:646,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:649,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:651,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 654
    functionName: xyzzy_chklen_fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - WRONG
    - VSLb
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_chklen_fini(struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ws
    - ','
    - cfg
    - ','
    - magic
    - ','
    - id
    - ','
    - mode_e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 697
    functionName: chkcfg
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chkcfg(ws, cfg, magic, id, mode_e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:704,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:705,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:706,1
    - Dst: XXXAN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:707,1
    - Dst: chkcfg
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:709,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - blob
    - mode_e
    argTypes:
    - VCL_BLOB
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 716
    functionName: xyzzy_chksha256
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - XXXAN
    - memcpy
    - CHECK_OBJ_NOTNULL
    - chkcfg
    linkageType: ''
    returnType: void
    signature: void xyzzy_chksha256(VRT_CTX, VCL_BLOB blob, VCL_ENUM mode_e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:723,1
    - Dst: chkcfg
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - expected
    - mode_e
    argTypes:
    - VCL_INT
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 730
    functionName: xyzzy_chkcrc32
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - chkcfg
    linkageType: ''
    returnType: void
    signature: void xyzzy_chkcrc32(VRT_CTX, VCL_INT expected, VCL_ENUM mode_e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:737,1
    - Dst: chkcfg
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - expected
    - mode_e
    argTypes:
    - VCL_BYTES
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: xyzzy_chklen
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - chkcfg
    linkageType: ''
    returnType: void
    signature: void xyzzy_chklen(VRT_CTX, VCL_BYTES expected, VCL_ENUM mode_e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:754,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:755,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:756,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:757,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:758,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:759,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:766,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:768,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:769,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - vdc
    - priv
    argTypes:
    - struct vdp_ctx*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 772
    functionName: xyzzy_awshog_init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 0
    functionsReached:
    - AN
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - WS_Alloc
    - WRONG
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_awshog_init(VRT_CTX, struct vdp_ctx *vdc, void **priv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:782,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:782,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:783,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:783,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:784,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:784,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:785,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:785,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:786,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:786,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:787,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:787,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:788,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:788,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:789,1
    - Dst: VRT_AddFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 790
    functionName: debug_add_filters
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 1
    functionsReached:
    - VRT_AddFilter
    - AZ
    linkageType: ''
    returnType: void
    signature: void debug_add_filters(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:795,1
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:796,1
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:797,1
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:798,1
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:799,1
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:800,1
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:801,1
    - Dst: VRT_RemoveFilter
      Src: /src/vinyl-cache/vmod/vmod_debug_filters.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: debug_remove_filters
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_filters.c
    functionUses: 1
    functionsReached:
    - VRT_RemoveFilter
    linkageType: ''
    returnType: void
    signature: void debug_remove_filters(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:53,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:54,1
    - Dst: vdir_release
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 5
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: vmod_hash_release
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_hash.c
    functionUses: 0
    functionsReached:
    - vdir_release
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_hash_release(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:63,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:64,1
    - Dst: vdir_delete
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:65,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: vmod_hash_destroy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_hash.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - vdir_delete
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_hash_destroy(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:83,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:84,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:85,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:86,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:87,1
    - Dst: vdir_new
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rrp
    - vcl_name
    argTypes:
    - struct vmod_directors_hash**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: vmod_hash__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_hash.c
    functionUses: 0
    functionsReached:
    - vdir_new
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void vmod_hash__init(VRT_CTX, struct vmod_directors_hash **rrp,\n
      \   const char *vcl_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:97,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rrp
    argTypes:
    - struct vmod_directors_hash**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: vmod_hash__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_hash.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - VRT_DelDirector
    linkageType: ''
    returnType: void
    signature: void vmod_hash__fini(struct vmod_directors_hash **rrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:106,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:107,1
    - Dst: vdir_add_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rr
    - be
    - w
    argTypes:
    - struct vmod_directors_hash*
    - VCL_BACKEND
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 9
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: vmod_hash_add_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_hash.c
    functionUses: 0
    functionsReached:
    - vdir_add_backend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_hash_add_backend(VRT_CTX,\n    struct vmod_directors_hash
      *rr, VCL_BACKEND be, double w)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:116,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:117,1
    - Dst: vdir_remove_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rr
    - be
    argTypes:
    - struct vmod_directors_hash*
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 9
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: vmod_hash_remove_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_hash.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vdir_remove_backend
    linkageType: ''
    returnType: void
    signature: "void vmod_hash_remove_backend(VRT_CTX,\n    struct vmod_directors_hash
      *rr, VCL_BACKEND be)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:127,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:128,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:129,1
    - Dst: VRT_HashStrands32
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:131,1
    - Dst: scalbn
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:132,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:133,1
    - Dst: vdir_pick_be
      Src: /src/vinyl-cache/vmod/vmod_directors_hash.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rr
    - s
    argTypes:
    - struct vmod_directors_hash*
    - VCL_STRANDS
    assertStmts:
    - condition: (r >= 0 && r <= 1.0)
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/vinyl-cache/vmod/vmod_directors_hash.c
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: vmod_hash_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_hash.c
    functionUses: 0
    functionsReached:
    - VRT_HashStrands32
    - CHECK_OBJ_NOTNULL
    - scalbn
    - assert
    - vdir_pick_be
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void vmod_hash_backend(VRT_CTX, struct vmod_directors_hash *rr, VCL_STRANDS
      s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_purge.c:47,1
    - Dst: VRT_purge
      Src: /src/vinyl-cache/vmod/vmod_purge.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 9
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: vmod_hard
    functionSourceFile: /src/vinyl-cache/vmod/vmod_purge.c
    functionUses: 0
    functionsReached:
    - VRT_purge
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_hard(VRT_CTX)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_purge.c:55,1
    - Dst: VRT_purge
      Src: /src/vinyl-cache/vmod/vmod_purge.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ttl
    - grace
    - keep
    argTypes:
    - VCL_DURATION
    - VCL_DURATION
    - VCL_DURATION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 9
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: vmod_soft
    functionSourceFile: /src/vinyl-cache/vmod/vmod_purge.c
    functionUses: 0
    functionsReached:
    - VRT_purge
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_soft(VRT_CTX, VCL_DURATION ttl, VCL_DURATION grace, VCL_DURATION
      keep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: hex_encode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hex_encode_l(size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: hex_decode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t hex_decode_l(size_t l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hi
    - lo
    argTypes:
    - unsigned char
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: hex2byte
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char hex2byte(const unsigned char hi, const unsigned char lo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:88,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:89,1
    - Dst: hex_encode_l
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - enc
    - kase
    - buf
    - buflen
    - in
    - inlen
    argTypes:
    - enum encoding
    - enum case_e
    - blob_dest_t
    - blob_len_t
    - blob_src_t
    - blob_len_t
    assertStmts:
    - condition: (enc == HEX)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/vmod/vmod_blob_hex.c
    constantsTouched: []
    func_position:
      end: 104
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 104
    functionName: hex_encode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_hex.c
    functionUses: 0
    functionsReached:
    - assert
    - hex_encode_l
    - AN
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t hex_encode(const enum encoding enc, const enum case_e kase,\n
      \   blob_dest_t buf, blob_len_t buflen,\n    blob_src_t in, blob_len_t inlen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:116,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:117,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:118,1
    - Dst: isxdigit
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:127,1
    - Dst: hex2byte
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:155,1
    - Dst: hex2byte
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:159,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob_hex.c:165,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 5
    argNames:
    - dec
    - buf
    - buflen
    - n
    - strings
    argTypes:
    - enum encoding
    - blob_dest_t
    - blob_len_t
    - ssize_t
    - VCL_STRANDS
    assertStmts:
    - condition: (dec == HEX)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/vinyl-cache/vmod/vmod_blob_hex.c
    - condition: (dest <= buf + buflen)
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/vinyl-cache/vmod/vmod_blob_hex.c
    constantsTouched: []
    func_position:
      end: 167
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 167
    functionName: hex_decode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob_hex.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - hex2byte
    - assert
    - isxdigit
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t hex_decode(const enum encoding dec, blob_dest_t buf,\n    blob_len_t
      buflen, ssize_t n, VCL_STRANDS strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: ERR
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: VERR
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERR(ctx, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - enc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: ERRINVAL
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRINVAL(ctx, enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: VERRNOMEM
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VERRNOMEM(ctx, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ctx
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: ERRNOMEM
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRNOMEM(ctx, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_blob.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: parse_encoding
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - WRONG
    linkageType: ''
    returnType: enum encoding
    signature: enum encoding parse_encoding(VCL_ENUM e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: VMODENUM
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VMODENUM(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_blob.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - VCL_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: parse_case
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - WRONG
    linkageType: ''
    returnType: enum case_e
    signature: enum case_e parse_case(VCL_ENUM e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: VMODENUM
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VMODENUM(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AENC
      Src: /src/vinyl-cache/vmod/vmod_blob.c:145,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:147,1
    - Dst: strlen
      Src: /src/vinyl-cache/vmod/vmod_blob.c:150,1
    - Dst: decode_l
      Src: /src/vinyl-cache/vmod/vmod_blob.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dec
    - s
    argTypes:
    - enum encoding
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: decode_l
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 1
    functionsReached:
    - decode_l
    - strlen
    - CHECK_OBJ_NOTNULL
    - AENC
    linkageType: ''
    returnType: size_t
    signature: size_t decode_l(enum encoding dec, VCL_STRANDS s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERRINVAL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:160,1
    - Dst: ERRNOMEM
      Src: /src/vinyl-cache/vmod/vmod_blob.c:163,1
    - Dst: WRONG
      Src: /src/vinyl-cache/vmod/vmod_blob.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - enc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: err_decode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - WRONG
    - ERRNOMEM
    - ERRINVAL
    linkageType: ''
    returnType: void
    signature: void err_decode(VRT_CTX, const char *enc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enc
    argTypes:
    - enum encoding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: encodes_hex
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int encodes_hex(enum encoding enc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encodes_hex
      Src: /src/vinyl-cache/vmod/vmod_blob.c:182,1
    - Dst: VERR
      Src: /src/vinyl-cache/vmod/vmod_blob.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - encs
    - case_s
    - enc
    - kase
    argTypes:
    - VCL_ENUM
    - VCL_ENUM
    - enum encoding
    - enum case_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: check_enc_case
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - encodes_hex
    - VERR
    linkageType: ''
    returnType: int
    signature: "int check_enc_case(VRT_CTX, VCL_ENUM encs, VCL_ENUM case_s, enum encoding
      enc,\n    enum case_e kase)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parse_encoding
      Src: /src/vinyl-cache/vmod/vmod_blob.c:196,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:200,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob.c:201,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:202,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob.c:203,1
    - Dst: AENC
      Src: /src/vinyl-cache/vmod/vmod_blob.c:204,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:205,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:207,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_blob.c:208,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:210,1
    - Dst: pthread_mutex_init
      Src: /src/vinyl-cache/vmod/vmod_blob.c:210,1
    - Dst: decode_l
      Src: /src/vinyl-cache/vmod/vmod_blob.c:215,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:219,1
    - Dst: malloc
      Src: /src/vinyl-cache/vmod/vmod_blob.c:221,1
    - Dst: VERRNOMEM
      Src: /src/vinyl-cache/vmod/vmod_blob.c:223,1
    - Dst: decode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:228,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:231,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_blob.c:232,1
    - Dst: VERR
      Src: /src/vinyl-cache/vmod/vmod_blob.c:233,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_blob.c:238,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_blob.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 4
    argNames:
    - blobp
    - vcl_name
    - decs
    - strings
    argTypes:
    - struct vmod_blob_blob**
    - char*
    - VCL_ENUM
    - VCL_STRANDS
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    - condition: (errno == EINVAL)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    constantsTouched: []
    func_position:
      end: 244
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 244
    functionName: vmod_blob__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - decode_l
    - pthread_mutex_init
    - AN
    - CHECK_OBJ_NOTNULL
    - AENC
    - malloc
    - decode
    - VERR
    - parse_encoding
    - memcpy
    - AZ
    - assert
    - VERRNOMEM
    - ALLOC_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: "void vmod_blob__init(VRT_CTX, struct vmod_blob_blob **blobp, const
      char *vcl_name,\n    VCL_ENUM decs, VCL_STRANDS strings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:249,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:250,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct vmod_blob_blob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: vmod_blob_get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_blob_get(VRT_CTX, struct vmod_blob_blob *b)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: parse_encoding
      Src: /src/vinyl-cache/vmod/vmod_blob.c:259,1
    - Dst: AENC
      Src: /src/vinyl-cache/vmod/vmod_blob.c:260,1
    - Dst: parse_case
      Src: /src/vinyl-cache/vmod/vmod_blob.c:261,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:263,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:264,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:265,1
    - Dst: check_enc_case
      Src: /src/vinyl-cache/vmod/vmod_blob.c:267,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_blob.c:275,1
    - Dst: pthread_mutex_lock
      Src: /src/vinyl-cache/vmod/vmod_blob.c:275,1
    - Dst: encode_l
      Src: /src/vinyl-cache/vmod/vmod_blob.c:277,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:279,1
    - Dst: malloc
      Src: /src/vinyl-cache/vmod/vmod_blob.c:283,1
    - Dst: ERRNOMEM
      Src: /src/vinyl-cache/vmod/vmod_blob.c:285,1
    - Dst: encode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:289,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:293,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_blob.c:295,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_blob.c:303,1
    - Dst: pthread_mutex_unlock
      Src: /src/vinyl-cache/vmod/vmod_blob.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - b
    - encs
    - case_s
    argTypes:
    - struct vmod_blob_blob*
    - VCL_ENUM
    - VCL_ENUM
    assertStmts:
    - condition: (len >= 0)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    - condition: (len >= 0)
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    constantsTouched: []
    func_position:
      end: 306
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 306
    functionName: vmod_blob_encode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - ERRNOMEM
    - CHECK_OBJ_NOTNULL
    - AENC
    - malloc
    - parse_encoding
    - check_enc_case
    - PTOK
    - pthread_mutex_lock
    - assert
    - parse_case
    - pthread_mutex_unlock
    - encode_l
    - encode
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: "void vmod_blob_encode(VRT_CTX, struct vmod_blob_blob *b, VCL_ENUM
      encs,\n    VCL_ENUM case_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:315,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:316,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_blob.c:319,1
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_blob.c:327,1
    - Dst: PTOK
      Src: /src/vinyl-cache/vmod/vmod_blob.c:332,1
    - Dst: pthread_mutex_destroy
      Src: /src/vinyl-cache/vmod/vmod_blob.c:332,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - blobp
    argTypes:
    - struct vmod_blob_blob**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 334
    functionName: vmod_blob__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - TAKE_OBJ_NOTNULL
    - FREE_OBJ
    - PTOK
    - CHECK_OBJ
    - free
    linkageType: ''
    returnType: void
    signature: void vmod_blob__fini(struct vmod_blob_blob **blobp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_encoding
      Src: /src/vinyl-cache/vmod/vmod_blob.c:341,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:346,1
    - Dst: AENC
      Src: /src/vinyl-cache/vmod/vmod_blob.c:347,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:348,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:349,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_blob.c:351,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/vmod/vmod_blob.c:352,1
    - Dst: decode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:357,1
    - Dst: err_decode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:360,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_blob.c:361,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_blob.c:365,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_blob.c:368,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:370,1
    - Dst: VRT_blob
      Src: /src/vinyl-cache/vmod/vmod_blob.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - decs
    - length
    - strings
    argTypes:
    - VCL_ENUM
    - VCL_INT
    - VCL_STRANDS
    assertStmts:
    - condition: (len > 0)
      pos:
        line_end: 369
        line_start: 369
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    constantsTouched: []
    func_position:
      end: 373
      start: 339
    functionDepth: 9
    functionLinenumber: 339
    functionLinenumberEnd: 373
    functionName: vmod_decode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - VRT_blob
    - err_decode
    - CHECK_OBJ_NOTNULL
    - AENC
    - WS_ReserveAll
    - WS_Release
    - parse_encoding
    - assert
    - WS_Reservation
    - decode
    linkageType: ''
    returnType: void
    signature: void vmod_decode(VRT_CTX, VCL_ENUM decs, VCL_INT length, VCL_STRANDS
      strings)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AENC
      Src: /src/vinyl-cache/vmod/vmod_blob.c:382,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:387,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:388,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_blob.c:389,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/vmod/vmod_blob.c:390,1
    - Dst: encode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:392,1
    - Dst: ERRNOMEM
      Src: /src/vinyl-cache/vmod/vmod_blob.c:395,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_blob.c:396,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_blob.c:400,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_blob.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - enc
    - kase
    - b
    argTypes:
    - enum encoding
    - enum case_e
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 406
    functionName: encode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 4
    functionsReached:
    - ERRNOMEM
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - AENC
    - WS_ReserveAll
    - WS_Reservation
    - encode
    - CHECK_OBJ
    linkageType: ''
    returnType: VCL_STRING
    signature: VCL_STRING encode(VRT_CTX, enum encoding enc, enum case_e kase, VCL_BLOB
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_encoding
      Src: /src/vinyl-cache/vmod/vmod_blob.c:411,1
    - Dst: parse_case
      Src: /src/vinyl-cache/vmod/vmod_blob.c:412,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:414,1
    - Dst: check_enc_case
      Src: /src/vinyl-cache/vmod/vmod_blob.c:415,1
    - Dst: encode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - encs
    - case_s
    - b
    argTypes:
    - VCL_ENUM
    - VCL_ENUM
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 418
    functionName: vmod_encode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - parse_encoding
    - check_enc_case
    - parse_case
    - encode
    linkageType: ''
    returnType: void
    signature: void vmod_encode(VRT_CTX, VCL_ENUM encs, VCL_ENUM case_s, VCL_BLOB
      b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_encoding
      Src: /src/vinyl-cache/vmod/vmod_blob.c:424,1
    - Dst: parse_encoding
      Src: /src/vinyl-cache/vmod/vmod_blob.c:425,1
    - Dst: parse_case
      Src: /src/vinyl-cache/vmod/vmod_blob.c:426,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:432,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:433,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:434,1
    - Dst: AENC
      Src: /src/vinyl-cache/vmod/vmod_blob.c:436,1
    - Dst: AENC
      Src: /src/vinyl-cache/vmod/vmod_blob.c:437,1
    - Dst: check_enc_case
      Src: /src/vinyl-cache/vmod/vmod_blob.c:439,1
    - Dst: decode_l
      Src: /src/vinyl-cache/vmod/vmod_blob.c:446,1
    - Dst: decode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:456,1
    - Dst: err_decode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:459,1
    - Dst: encodes_hex
      Src: /src/vinyl-cache/vmod/vmod_blob.c:474,1
    - Dst: VRT_STRANDS_string
      Src: /src/vinyl-cache/vmod/vmod_blob.c:480,1
    - Dst: encode
      Src: /src/vinyl-cache/vmod/vmod_blob.c:482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - decs
    - encs
    - case_s
    - length
    - strings
    argTypes:
    - VCL_ENUM
    - VCL_ENUM
    - VCL_ENUM
    - VCL_INT
    - VCL_STRANDS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 484
    functionName: vmod_transcode
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - decode_l
    - err_decode
    - CHECK_OBJ_NOTNULL
    - AENC
    - parse_encoding
    - VRT_STRANDS_string
    - check_enc_case
    - parse_case
    - encodes_hex
    - encode
    - decode
    linkageType: ''
    returnType: void
    signature: "void vmod_transcode(VRT_CTX, VCL_ENUM decs, VCL_ENUM encs, VCL_ENUM
      case_s,\n\t       VCL_INT length, VCL_STRANDS strings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:490,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:495,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - VCL_BLOB
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 498
    functionName: vmod_same
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_same(VRT_CTX, VCL_BLOB b1, VCL_BLOB b2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:504,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:509,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:510,1
    - Dst: memcmp
      Src: /src/vinyl-cache/vmod/vmod_blob.c:517,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - b1
    - b2
    argTypes:
    - VCL_BLOB
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 518
    functionName: vmod_equal
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - memcmp
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_equal(VRT_CTX, VCL_BLOB b1, VCL_BLOB b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:524,1
    - Dst: CHECK_OBJ
      Src: /src/vinyl-cache/vmod/vmod_blob.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - VCL_BLOB
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: vmod_length
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_length(VRT_CTX, VCL_BLOB b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:535,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:536,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:537,1
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_blob.c:539,1
    - Dst: ERR
      Src: /src/vinyl-cache/vmod/vmod_blob.c:541,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_blob.c:545,1
    - Dst: ERR
      Src: /src/vinyl-cache/vmod/vmod_blob.c:549,1
    - Dst: VERR
      Src: /src/vinyl-cache/vmod/vmod_blob.c:555,1
    - Dst: VRT_blob
      Src: /src/vinyl-cache/vmod/vmod_blob.c:561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - b
    - n
    - 'off'
    argTypes:
    - VCL_BLOB
    - VCL_BYTES
    - VCL_BYTES
    assertStmts:
    - condition: (n >= 0)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    - condition: (off >= 0)
      pos:
        line_end: 536
        line_start: 536
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    - condition: (b->len > 0)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    constantsTouched: []
    func_position:
      end: 563
      start: 532
    functionDepth: 9
    functionLinenumber: 532
    functionLinenumberEnd: 563
    functionName: vmod_sub
    functionSourceFile: /src/vinyl-cache/vmod/vmod_blob.c
    functionUses: 0
    functionsReached:
    - VRT_blob
    - CHECK_OBJ_NOTNULL
    - ERR
    - assert
    - CHECK_OBJ_ORNULL
    - VERR
    linkageType: ''
    returnType: void
    signature: void vmod_sub(VRT_CTX, VCL_BLOB b, VCL_BYTES n, VCL_BYTES off)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - shardd
    - id
    argTypes:
    - struct sharddir*
    - unsigned
    assertStmts:
    - condition: (id < shardd->n_backend)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: sharddir_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: VCL_BACKEND
    signature: VCL_BACKEND sharddir_backend(const struct sharddir *shardd, unsigned
      id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - flag
    - ','
    - shardd
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: SHDBG
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHDBG(flag, shardd, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - vsl
    - ','
    - tag
    - ','
    - name
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: shard_log
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shard_log(vsl, tag, name, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - name
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: shard_fail
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shard_fail(ctx, name, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vsl
    - ','
    - name
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: shard_err
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shard_err(vsl, name, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vsl
    - ','
    - name
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: shard_err0
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shard_err0(vsl, name, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vsl
    - ','
    - name
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: shard_notice
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shard_notice(vsl, name, fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - f
    - nargs
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 8
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: onearg
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    linkageType: ''
    returnType: int
    signature: int onearg(VRT_CTX, const char *f, int nargs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:80,1
    - Dst: onearg
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:84,1
    - Dst: VNUM_duration
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:94,1
    - Dst: isnan
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:95,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 75
    functionDepth: 9
    functionLinenumber: 75
    functionLinenumberEnd: 104
    functionName: vmod_duration
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - onearg
    - VNUM_duration
    - isnan
    - VRT_fail
    linkageType: ''
    returnType: void
    signature: void vmod_duration(VRT_CTX, struct VARGS(duration) *a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:114,1
    - Dst: onearg
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:118,1
    - Dst: VNUM_2bytes
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:122,1
    - Dst: isnan
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:127,1
    - Dst: trunc
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:128,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:139,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 107
    functionDepth: 9
    functionLinenumber: 107
    functionLinenumberEnd: 141
    functionName: vmod_bytes
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - trunc
    - CHECK_OBJ_NOTNULL
    - onearg
    - isnan
    - VRT_fail
    - VNUM_2bytes
    linkageType: ''
    returnType: void
    signature: void vmod_bytes(VRT_CTX, struct VARGS(bytes) *a)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:150,1
    - Dst: onearg
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:155,1
    - Dst: SF_Parse_Number
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:167,1
    - Dst: modf
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:168,1
    - Dst: isnan
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:182,1
    - Dst: trunc
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:183,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:192,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:194,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 144
    functionDepth: 9
    functionLinenumber: 144
    functionLinenumberEnd: 196
    functionName: vmod_integer
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - trunc
    - CHECK_OBJ_NOTNULL
    - onearg
    - modf
    - isnan
    - VRT_fail
    - SF_Parse_Number
    linkageType: ''
    returnType: void
    signature: void vmod_integer(VRT_CTX, struct VARGS(integer) *a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:205,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:208,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:209,1
    - Dst: WS_Snapshot
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:215,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:216,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:218,1
    - Dst: VSS_ResolveFirst
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:223,1
    - Dst: WS_Reset
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:231,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 198
    functionDepth: 8
    functionLinenumber: 198
    functionLinenumberEnd: 237
    functionName: vmod_ip
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - WS_Snapshot
    - CHECK_OBJ_NOTNULL
    - WS_Alloc
    - VSA_Sane
    - VRT_fail
    - WS_Reset
    - VSS_ResolveFirst
    linkageType: ''
    returnType: VCL_IP
    signature: VCL_IP vmod_ip(VRT_CTX, struct VARGS(ip) *a)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:246,1
    - Dst: onearg
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:251,1
    - Dst: SF_Parse_Decimal
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:271,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:280,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:282,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 240
    functionDepth: 9
    functionLinenumber: 240
    functionLinenumberEnd: 284
    functionName: vmod_real
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - VRT_fail
    - SF_Parse_Decimal
    - CHECK_OBJ_NOTNULL
    - onearg
    linkageType: ''
    returnType: void
    signature: void vmod_real(VRT_CTX, struct VARGS(real) *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - VCL_REAL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: vmod_round
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - round
    linkageType: ''
    returnType: void
    signature: void vmod_round(VRT_CTX, VCL_REAL r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:299,1
    - Dst: onearg
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:303,1
    - Dst: VTIM_parse
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:313,1
    - Dst: VNUM
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:317,1
    - Dst: isnan
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:319,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct VARGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 294
    functionDepth: 9
    functionLinenumber: 294
    functionLinenumberEnd: 328
    functionName: vmod_time
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - onearg
    - VNUM
    - isnan
    - VRT_fail
    - VTIM_parse
    linkageType: ''
    returnType: void
    signature: void vmod_time(VRT_CTX, struct VARGS(time)* a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:339,1
    - Dst: gmtime_r
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:342,1
    - Dst: WS_ReserveAll
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:345,1
    - Dst: WS_Reservation
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:346,1
    - Dst: strftime
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:347,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:349,1
    - Dst: WS_Release
      Src: /src/vinyl-cache/vmod/vmod_std_conversions.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - t
    - fmt
    argTypes:
    - VCL_TIME
    - VCL_STRING
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 355
    functionName: vmod_strftime
    functionSourceFile: /src/vinyl-cache/vmod/vmod_std_conversions.c
    functionUses: 0
    functionsReached:
    - WS_Release
    - CHECK_OBJ_NOTNULL
    - WS_ReserveAll
    - gmtime_r
    - WS_Reservation
    - strftime
    linkageType: ''
    returnType: void
    signature: void vmod_strftime(VRT_CTX, VCL_TIME t, VCL_STRING fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: xyzzy_null_acl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_null_acl(VRT_CTX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - acl
    argTypes:
    - VCL_ACL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: xyzzy_acl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_ORNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_acl(VRT_CTX, VCL_ACL acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_ORNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:70,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:71,1
    - Dst: VSA_Sane
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:71,1
    - Dst: VRT_acl_match
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - acl
    - ip
    argTypes:
    - VCL_ACL
    - VCL_IP
    assertStmts:
    - condition: (VSA_Sane(ip))
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: xyzzy_match_acl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - assert
    - VRT_acl_match
    - CHECK_OBJ_ORNULL
    - VSA_Sane
    linkageType: ''
    returnType: void
    signature: void xyzzy_match_acl(VRT_CTX, VCL_ACL acl, VCL_IP ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - asw
    argTypes:
    - struct acl_sweep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: reset_sweep
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset_sweep(struct acl_sweep *asw)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:105,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:106,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:108,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:109,1
    - Dst: VSA_GetPtr
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:110,1
    - Dst: VSA_GetPtr
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:111,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:113,1
    - Dst: memcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:120,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:121,1
    - Dst: vbe32dec
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:124,1
    - Dst: memcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:126,1
    - Dst: VRT_fail
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:127,1
    - Dst: vbe64dec
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:130,1
    - Dst: malloc
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:135,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:136,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:137,1
    - Dst: VSA_GetPtr
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 4
    argNames:
    - asw
    - ip0
    - ip1
    - step
    argTypes:
    - struct acl_sweep*
    - VCL_IP
    - VCL_IP
    - VCL_INT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 98
    functionDepth: 8
    functionLinenumber: 98
    functionLinenumberEnd: 144
    functionName: setup_sweep
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - malloc
    - memcpy
    - vbe64dec
    - memset
    - VRT_fail
    - vbe32dec
    - VSA_GetPtr
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int setup_sweep(VRT_CTX, struct acl_sweep *asw, VCL_IP ip0, VCL_IP
      ip1,\n    VCL_INT step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:149,1
    - Dst: memset
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - asw
    argTypes:
    - struct acl_sweep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: cleanup_sweep
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - memset
    - free
    linkageType: ''
    returnType: void
    signature: void cleanup_sweep(struct acl_sweep *asw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:157,1
    - Dst: vbe32enc
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:161,1
    - Dst: memcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:162,1
    - Dst: vbe64enc
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:164,1
    - Dst: memcmp
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - asw
    argTypes:
    - struct acl_sweep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: step_sweep
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - vbe32enc
    - memcmp
    - AN
    - vbe64enc
    linkageType: ''
    returnType: int
    signature: int step_sweep(struct acl_sweep *asw)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:183,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:184,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:185,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:186,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:187,1
    - Dst: setup_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:188,1
    - Dst: VSB_new_auto
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:191,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:192,1
    - Dst: VSHA256_Init
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:194,1
    - Dst: VTCP_name
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:197,1
    - Dst: VSB_printf
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:199,1
    - Dst: VRT_acl_match
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:201,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:202,1
    - Dst: VSB_putc
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:203,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:205,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:205,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:206,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:206,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:206,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:207,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:208,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:209,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:209,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:210,1
    - Dst: step_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:212,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:215,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:216,1
    - Dst: VSB_finish
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:216,1
    - Dst: VSLbs
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:217,1
    - Dst: TOSTRAND
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:217,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:217,1
    - Dst: VSB_len
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:218,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:219,1
    - Dst: VSHA256_Update
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:220,1
    - Dst: VSB_data
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:220,1
    - Dst: VSB_clear
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:221,1
    - Dst: VSB_destroy
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:223,1
    - Dst: VSHA256_Final
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:225,1
    - Dst: WS_Alloc
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:226,1
    - Dst: memcpy
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:228,1
    - Dst: cleanup_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - acl
    - ip0
    - ip1
    - step
    argTypes:
    - VCL_ACL
    - VCL_IP
    - VCL_IP
    - VCL_INT
    assertStmts:
    - condition: (step > 0)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    - condition: (sz > 0)
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    - condition: (sz > 0)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    - condition: (0 <= i && i <= 1)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    constantsTouched: []
    func_position:
      end: 235
      start: 170
    functionDepth: 9
    functionLinenumber: 170
    functionLinenumberEnd: 235
    functionName: xyzzy_sweep_acl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - VSB_finish
    - VSB_printf
    - VSB_clear
    - AN
    - VSB_putc
    - memcpy
    - VSHA256_Update
    - WS_Alloc
    - VSB_data
    - VRT_acl_match
    - step_sweep
    - VSHA256_Final
    - CHECK_OBJ_NOTNULL
    - AZ
    - assert
    - VSB_len
    - setup_sweep
    - VSB_new_auto
    - TOSTRAND
    - cleanup_sweep
    - VSLbs
    - VSHA256_Init
    - VTCP_name
    - VSB_destroy
    linkageType: ''
    returnType: VCL_BLOB
    signature: VCL_BLOB xyzzy_sweep_acl(VRT_CTX, VCL_ACL acl, VCL_IP ip0, VCL_IP ip1,
      VCL_INT step)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:246,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:247,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:248,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:249,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:250,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:251,1
    - Dst: setup_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:253,1
    - Dst: VRT_acl_match
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:256,1
    - Dst: step_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:257,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:259,1
    - Dst: reset_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:261,1
    - Dst: VRT_acl_match
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:263,1
    - Dst: step_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:264,1
    - Dst: VTIM_mono
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:266,1
    - Dst: assert
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:268,1
    - Dst: VSLb
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:270,1
    - Dst: cleanup_sweep
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - acl
    - ip0
    - ip1
    - step
    - turnus
    argTypes:
    - VCL_ACL
    - VCL_IP
    - VCL_IP
    - VCL_INT
    - VCL_INT
    assertStmts:
    - condition: (step > 0)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    - condition: (turnus > 0)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    - condition: (cnt > 0)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    constantsTouched: []
    func_position:
      end: 275
      start: 237
    functionDepth: 9
    functionLinenumber: 237
    functionLinenumberEnd: 275
    functionName: xyzzy_time_acl
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - VRT_acl_match
    - AN
    - step_sweep
    - cleanup_sweep
    - CHECK_OBJ_NOTNULL
    - reset_sweep
    - assert
    - setup_sweep
    - VTIM_mono
    - VSLb
    linkageType: ''
    returnType: VCL_DURATION
    signature: "VCL_DURATION xyzzy_time_acl(VRT_CTX, VCL_ACL acl, VCL_IP ip0, VCL_IP
      ip1,\n    VCL_INT step, VCL_INT turnus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:290,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:291,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:292,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:293,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:294,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - op
    - vcl_name
    - acl
    argTypes:
    - struct VPFX**
    - char*
    - VCL_ACL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 298
    functionName: xyzzy_aclobj__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - AN
    - CHECK_OBJ_NOTNULL
    - REPLACE
    - AZ
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void xyzzy_aclobj__init(VRT_CTX, struct VPFX(debug_aclobj) **op,\n
      \   const char *vcl_name, VCL_ACL acl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:305,1
    - Dst: REPLACE
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:306,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - op
    argTypes:
    - struct VPFX**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: xyzzy_aclobj__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - REPLACE
    - TAKE_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_aclobj__fini(struct VPFX(debug_aclobj) **op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:313,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_debug_acl.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - o
    argTypes:
    - struct VPFX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: xyzzy_aclobj_get
    functionSourceFile: /src/vinyl-cache/vmod/vmod_debug_acl.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void xyzzy_aclobj_get(VRT_CTX, struct VPFX(debug_aclobj) *o)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:54,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:55,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:56,1
    - Dst: vdir_any_healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dir
    - changed
    argTypes:
    - VCL_BACKEND
    - VCL_TIME*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: vmod_rr_healthy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - vdir_any_healthy
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_rr_healthy(VRT_CTX, VCL_BACKEND dir, VCL_TIME *changed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:65,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:66,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:67,1
    - Dst: vdir_list
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - dir
    - vsb
    - pflag
    - jflag
    argTypes:
    - VCL_BACKEND
    - struct vsb*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: vmod_rr_list
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - vdir_list
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_rr_list(VRT_CTX, VCL_BACKEND dir, struct vsb *vsb, int pflag,
      int jflag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:79,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:80,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:81,1
    - Dst: vdir_rdlock
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:82,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:88,1
    - Dst: VRT_Healthy
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:89,1
    - Dst: vdir_unlock
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 97
    functionName: vmod_rr_resolve
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vdir_rdlock
    - VRT_Healthy
    - CAST_OBJ_NOTNULL
    - vdir_unlock
    linkageType: ''
    returnType: void
    signature: void vmod_rr_resolve(VRT_CTX, VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:104,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:105,1
    - Dst: vdir_release
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: vmod_rr_release
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - vdir_release
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_rr_release(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:114,1
    - Dst: CAST_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:115,1
    - Dst: vdir_delete
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:116,1
    - Dst: FREE_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: vmod_rr_destroy
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - FREE_OBJ
    - vdir_delete
    - CHECK_OBJ_NOTNULL
    - CAST_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: void vmod_rr_destroy(VCL_BACKEND dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:136,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:137,1
    - Dst: AZ
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:138,1
    - Dst: ALLOC_OBJ
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:139,1
    - Dst: AN
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:140,1
    - Dst: vdir_new
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rrp
    - vcl_name
    argTypes:
    - struct vmod_directors_round_robin**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: vmod_round_robin__init
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - vdir_new
    - AN
    - CHECK_OBJ_NOTNULL
    - AZ
    - ALLOC_OBJ
    linkageType: ''
    returnType: void
    signature: "void vmod_round_robin__init(VRT_CTX,\n    struct vmod_directors_round_robin
      **rrp, const char *vcl_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAKE_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:150,1
    - Dst: VRT_DelDirector
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rrp
    argTypes:
    - struct vmod_directors_round_robin**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: vmod_round_robin__fini
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - TAKE_OBJ_NOTNULL
    - VRT_DelDirector
    linkageType: ''
    returnType: void
    signature: void vmod_round_robin__fini(struct vmod_directors_round_robin **rrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:159,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:160,1
    - Dst: vdir_add_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rr
    - be
    argTypes:
    - struct vmod_directors_round_robin*
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 9
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: vmod_round_robin_add_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - vdir_add_backend
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_round_robin_add_backend(VRT_CTX,\n    struct vmod_directors_round_robin
      *rr, VCL_BACKEND be)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:168,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:169,1
    - Dst: vdir_remove_backend
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rr
    - be
    argTypes:
    - struct vmod_directors_round_robin*
    - VCL_BACKEND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 9
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: vmod_round_robin_remove_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    - vdir_remove_backend
    linkageType: ''
    returnType: void
    signature: "void vmod_round_robin_remove_backend(VRT_CTX,\n    struct vmod_directors_round_robin
      *rr, VCL_BACKEND be)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:178,1
    - Dst: CHECK_OBJ_NOTNULL
      Src: /src/vinyl-cache/vmod/vmod_directors_round_robin.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rr
    argTypes:
    - struct vmod_directors_round_robin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: vmod_round_robin_backend
    functionSourceFile: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    functionUses: 0
    functionsReached:
    - CHECK_OBJ_NOTNULL
    linkageType: ''
    returnType: void
    signature: "void vmod_round_robin_backend(VRT_CTX,\n    struct vmod_directors_round_robin
      *rr)"
Fuzzer filename: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- vjsn.h
- endian.h
- vmod_blob_tbl_encodings.h
- vcc_compile.h
- dirent.h
- fnmatch.h
- umem.h
- vinylstat_bindings.h
- vcc_math_if.h
- ncurses/curses.h
- tbl/vsl_tags.h
- acceptor/acceptor_tcp.h
- cache_conn_pool.h
- float.h
- vnum.h
- storage/storage_persistent.h
- teken.h
- cache_http1.h
- vcc_unix_if.h
- heritage.h
- sys/param.h
- sys/prctl.h
- zlib.h
- printf.h
- tbl/obj_attr.h
- tbl/experimental_bits.h
- vmod_debug.h
- libunwind.h
- sys/un.h
- vapi/vsm.h
- vcc_types.h
- tbl/oc_flags.h
- vsha256.h
- alloc.h
- cache/cache_esi.h
- vtcp.h
- vtim.h
- teken_wcwidth.h
- sys/mman.h
- tbl/feature_bits.h
- unixio.h
- VSC_main.h
- vcc_directors_if.h
- port.h
- tbl/h2_error.h
- termios.h
- vhp_hufdec.h
- sys/epoll.h
- sys/vfs.h
- vsmw.h
- vsub.h
- libvcc.h
- cache_vcl.h
- mgt/mgt_param.h
- vcli_serve.h
- hpack.h
- limits.h
- priv.h
- tbl/vhd_fsm_funcs.h
- netdb.h
- sys/resource.h
- vtc_h2_dectbl.h
- acceptor/acceptor_priv.h
- inffast.h
- vmb.h
- vss.h
- vinylstat.h
- vmod_directors_shard_cfg.h
- vtc.h
- waiter/waiter_priv.h
- inftrees.h
- math.h
- vsl_priv.h
- sys/ioctl.h
- vlu.h
- sys/socket.h
- tbl/vrt_stv_var.h
- common/heritage.h
- pthread.h
- vcurses.h
- tbl/sess_close.h
- vsm_priv.h
- vre.h
- cache/cache_obj.h
- stdatomic.h
- inflate.h
- pcre2.h
- http1/cache_http1.h
- tbl/backend_poll.h
- tbl/symbol_kind.h
- execinfo.h
- vcl.h
- vre_pcre2.h
- tbl/sess_attr.h
- vapi/vsig.h
- tbl/beresp_flags.h
- cache/cache_vgz.h
- tbl/vhp_static.h
- vas.h
- vut.h
- cache.h
- glob.h
- tbl/vcc_feature_bits.h
- mgt_jail_solaris_tbl.h
- storage/storage.h
- trees.h
- teken_subr_compat.h
- cache_esi.h
- readline/readline.h
- vcc_namespace.h
- vev.h
- sys/types.h
- signal.h
- hpack/vhp.h
- vapi/vsl.h
- vsa.h
- vcs_version.h
- vgz.h
- link.h
- pwd.h
- cache/cache_transport.h
- sys/stat.h
- tbl/locks.h
- locale.h
- tbl/htc.h
- sys/uio.h
- tbl/acct_fields_bereq.h
- vsc_priv.h
- vus.h
- tbl/vsc_levels.h
- vqueue.h
- vmod_directors.h
- vte.h
- VSC_mgt.h
- VSC_smf.h
- vcc_purge_if.h
- vsb.h
- sys/filio.h
- tbl/waiters.h
- tbl/vhd_return.h
- sys/wait.h
- vsl_api.h
- VSC_ssy.h
- tbl/vsig_list.h
- crc32.h
- config.h
- fcntl.h
- cache_filter.h
- vrnd.h
- tbl/vcl_returns.h
- netinet/in.h
- waiter/mgt_waiter.h
- vcc_interface.h
- VSC_vcp.h
- sys/time.h
- sys/utsname.h
- sys/event.h
- vct.h
- VSC_mempool.h
- inffixed.h
- vbm.h
- cache_transport.h
- cache_ban.h
- inttypes.h
- vcc_cookie_if.h
- mach/mach_time.h
- common/vsmw.h
- cache_vinyld.h
- acceptor/acceptor_uds.h
- cache_director.h
- editline/readline.h
- teken_state.h
- acceptor/cache_acceptor.h
- teken_scs.h
- vdef.h
- cache/cache_vinyld.h
- deflate.h
- vcc_vtc_if.h
- VSC_vbe.h
- cache/cache_objhead.h
- tbl/body_status.h
- vapi/vsc.h
- ncursesw.h
- stdarg.h
- grp.h
- vtc_h2_stattbl.h
- mgt/mgt.h
- vfl.h
- vtree.h
- vcli.h
- poll.h
- ncursesw/curses.h
- time.h
- compat/daemon.h
- readline/history.h
- malloc.h
- tbl/http_headers.h
- stdio.h
- vpf.h
- tbl/h2_settings.h
- common/common_param.h
- stddef.h
- vav.h
- unistd.h
- tbl/req_bereq_flags.h
- zutil.h
- cmds.h
- cache/cache_filter.h
- tbl/vcl_context.h
- vapi/voptget.h
- proxy/cache_proxy.h
- vmod_blob.h
- cache_objhead.h
- vcc_debug_if.h
- vmod_abi.h
- vbh.h
- VSC_smu.h
- vcs.h
- zconf.h
- vapi/vsl_int.h
- errno.h
- http2/cache_http2.h
- cache_obj.h
- ctype.h
- sys/file.h
- tbl/h2_frames.h
- stdlib.h
- tbl/vcl_states.h
- storage/storage_simple.h
- cache_backend.h
- vtc_http.h
- vend.h
- cache_pool.h
- vrt.h
- curses.h
- vcc_proxy_if.h
- tbl/oc_exp_flags.h
- tbl/vhd_fsm.h
- stropts.h
- tbl/h2_stream.h
- vut_options.h
- ucred.h
- windows.h
- venc.h
- tbl/req_flags.h
- tbl/boc_state.h
- tbl/debug_bits.h
- vfil.h
- dlfcn.h
- vxp_tokens.h
- hash/hash_slinger.h
- vcc_std_if.h
- sys/statvfs.h
- VSC_waiter.h
- mgt.h
- vtc_log.h
- sched.h
- vin.h
- tbl/acct_fields_req.h
- teken_subr.h
- vcc_vmod.h
- sanitizer/asan_interface.h
- tbl/bereq_flags.h
- netinet/tcp.h
- vrt_obj.h
- assert.h
- io.h
- tbl/well_known_methods.h
- vcc_h2_if.h
- stdint.h
- string.h
- edit/readline/readline.h
- vcc_blob_if.h
- VSC_sma.h
- pthread_np.h
- VSC_debug.h
- vmod_blob_tbl_case.h
- acceptor/mgt_acceptor.h
- cache/cache_pool.h
- vudp.h
- ncurses.h
- vcc_token_defs.h
- vbt.h
- gzguts.h
- vinylhist_profiles.h
- vxp.h
- mgt/mgt_vcl.h
- vtc_h2_priv.h
- vapi/vapi_options.h
- VSC_lck.h
- tbl/vsl_tags_http.h
- cache/cache.h
- vtest_api.h
- tbl/cli_cmds.h
- vmod_directors_shard_dir.h
- sys/personality.h
- linux/magic.h
- syslog.h
- miniobj.h
- waiter/waiter.h
- vmod_unix_cred_compat.h
- cache_vgz.h
report: name
sources:
- function_names:
  - frag_needed
  - openout
  - rotateout
  - flushout
  - vsb_fcat
  - format_string
  - format_strptr
  - format_int64
  - format_fragment
  - format_time
  - format_requestline
  - format_auth
  - print
  - addf_string
  - addf_strptr
  - addf_fragment
  - addf_int64
  - addf_time
  - addf_requestline
  - addf_vcl_log
  - addf_hdr
  - addf_vsl
  - addf_auth
  - parse_x_format
  - parse_format
  - isprefix
  - frag_fields
  - frag_line
  - process_hdr
  - VTAILQ_FOREACH
  - process_vsl
  - VTAILQ_FOREACH
  - dispatch_f
  - ISPREFIX
  - read_format
  - main
  source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
  types:
    enum:
    - enumerators:
      - name: F_H
      - name: F_b
      - name: F_q
      - name: F_h
      - name: F_U
      - name: F_m
      - name: F_s
      - name: F_I
      - name: F_O
      - name: F_tstart
      - name: F_ttfb
      - name: F_host
      - name: F_tend
      - name: F__MAX
      - name: F_auth
      item_type: enum
      name: e_frag
      pos:
        line_end: 92
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    - enumerators:
      - name: FMTPOL_INTERNAL
        value: '1'
      - name: FMTPOL_LAST
      - name: FMTPOL_FIRST
      - name: FMTPOL_RESP
      - name: FMTPOL_REQ
      item_type: enum
      name: format_policy
      pos:
        line_end: 100
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    preproc_defs:
    - item_type: preproc_def
      name: VOPT_INC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
      type_or_value: '"vinylncsa_options.h"'
    - item_type: preproc_def
      name: TIME_FMT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
      type_or_value: '"[%d/%b/%Y:%T %z]"'
    - item_type: preproc_def
      name: FORMAT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
      type_or_value: '"%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\""'
    - item_type: preproc_def
      name: FORMAT_MAGIC
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
      type_or_value: '0xC3119CDA'
    - item_type: preproc_def
      name: WATCH_MAGIC
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
      type_or_value: '0xA7D4005C'
    - item_type: preproc_def
      name: VSL_WATCH_MAGIC
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
      type_or_value: '0xE3E27D23'
    structs:
    - fields:
      - name: gen
        type: uint64_t
      - name: '*b'
        type: char
      item_type: struct
      name: fragment
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    - fields:
      - name: magic
        type: unsigned
      - name: time_type
        type: char
      - name: (format)
        type: VTAILQ_ENTRY
      - name: '*func'
        type: format_f
      - name: '*frag'
        type: struct fragment
      - name: '*string'
        type: char
      - name: "*const\t*strptr"
        type: char
      - name: '*time_fmt'
        type: char
      - name: '*int64'
        type: int64_t
      item_type: struct
      name: format
      pos:
        line_end: 121
        line_start: 109
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    - fields:
      - name: magic
        type: unsigned
      - name: list
        type: VTAILQ_ENTRY
      - name: '*key'
        type: char
      - name: keylen
        type: int
      - name: frag
        type: struct fragment
      - name: match
        type: enum format_policy
      item_type: struct
      name: watch
      pos:
        line_end: 132
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    - fields:
      - name: magic
        type: unsigned
      - name: (vsl_watch)
        type: VTAILQ_ENTRY
      - name: tag
        type: enum VSL_tag_e
      - name: idx
        type: int
      - name: '*prefix'
        type: char
      - name: prefixlen
        type: int
      - name: frag
        type: struct fragment
      item_type: struct
      name: vsl_watch
      pos:
        line_end: 145
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    - fields:
      - name: a_opt
        type: int
      - name: '*w_arg'
        type: char
      - name: '*fo'
        type: FILE
      - name: '*vsb'
        type: struct vsb
      - name: gen
        type: uint64_t
      - name: (,format)
        type: VTAILQ_HEAD
      - name: quote_how
        type: int
      - name: '*missing_string'
        type: char
      - name: '*missing_int'
        type: char
      - name: watch_vcl_log
        type: struct watch_head
      - name: watch_reqhdr
        type: struct watch_head
      - name: watch_resphdr
        type: struct watch_head
      - name: watch_vsl
        type: struct vsl_watch_head
      - name: frag[F__MAX]
        type: struct fragment
      - name: '*hitmiss'
        type: char
      - name: '*handling'
        type: char
      - name: '*side'
        type: char
      - name: vxid
        type: int64_t
      - name: recv_compl
        type: int
      item_type: struct
      name: ctx
      pos:
        line_end: 172
        line_start: 148
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
    typedefs:
    - item_type: typedef
      name: format_f(const struct format *format)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa.c
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NCSA_OPT_a
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"a\", \"[-a]\", \"Append to file\",\t\t\t\t\\\n\t    \"When
        writing output to a file, append to it rather than\"\t\\\n\t    \" overwrite
        it. This option has no effect without the -w\"\t\\\n\t    \" option.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_F
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"F:\", \"[-F <format>]\", \"Set output format\",\t\t\\\n\t
        \   \"Set the output log format string.\"\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_f
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"f:\", \"[-f <formatfile>]\", \"Read output format from
        file\", \\\n\t    \"Read output format from a file. Will read a single line\"
        \  \\\n\t    \" from the specified file, and use that line as the\"\t\\\n\t
        \   \" format.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_g
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"g:\", \"[-g <request|vxid>]\", \"Grouping mode (default:
        vxid)\", \\\n\t    \"The grouping of the log records. The default is to group\"\t\\\n\t
        \   \" by vxid.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_w
      pos:
        line_end: 69
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"w:\", \"[-w <filename>]\", \"Output filename\",\t\t\\\n\t
        \   \"Redirect output to file. The file will be overwritten\"\t\\\n\t    \"
        unless the -a option was specified. If the application\"\t\\\n\t    \" receives
        a SIGHUP in daemon mode the file will be\"\t\\\n\t    \" reopened allowing
        the old one to be rotated away. This\"\t\\\n\t    \" option is required when
        running in daemon mode. If the\"\t\\\n\t    \" filename is -, vinylncsa writes
        to the standard output\"\t\\\n\t    \" and cannot work as a daemon.\"\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_b
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"b\", \"[-b]\", \"Backend mode\",\t\t\t\t\\\n\t    \"Log
        backend requests. If -c is not specified, then only\"\t\\\n\t    \" backend
        requests will trigger log lines.\"\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_c
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"c\", \"[-c]\", \"Client mode\",\t\t\t\t\\\n\t    \"Log
        client requests. This is the default. If -b is\"\t\\\n\t    \" specified,
        then -c is needed to also log client requests\"\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_E
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"E\", \"[-E]\", \"Show ESI requests\",\t\t\t\t\\\n\t    \"Show
        ESI requests, implies client mode.\"\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: NCSA_OPT_j
      pos:
        line_end: 92
        line_start: 83
        source_file: /src/vinyl-cache/bin/vinylncsa/vinylncsa_options.h
      type_or_value: "VOPT(\"j\", \"[-j]\", \"Make output JSON-compatible\",\t\t\\\n\t
        \   \"Make format-specifier replacements JSON-compatible. When\"\t\\\n\t    \"
        escaping characters, use JSON-style \\\\\\\\uXXXX escape\"\t\\\n\t    \" sequences
        instead of C-style \\\\\\\\xXX sequences. Empty\"\t\\\n\t    \" strings will
        be replaced with \\\"\\\" instead of \\\"-\\\", and\"\t\\\n\t    \" empty
        integers will be replaced with null. Use -F or -f\"\t\\\n\t    \" in combination
        with -j to write JSON logs.\"\t\t\\\n\t)"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_profiles.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HIS_PROF
  source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HIS_OPT_g
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
      type_or_value: "VOPT(\"g:\", \"[-g <request|vxid>]\",\t\t\t\t\\\n\t    \"Grouping
        mode (default: vxid)\",\t\t\t\t\\\n\t    \"The grouping of the log records.
        The default is to group\"\t\\\n\t    \" by vxid.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: HIS_OPT_p
      pos:
        line_end: 49
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
      type_or_value: "VOPT(\"p:\", \"[-p <period>]\", \"Refresh period\",\t\t\t\\\n\t
        \   \"Specified the number of seconds between screen refreshes.\"\t\\\n\t
        \   \" Default is 1 second, and can be changed at runtime by\"\t\\\n\t    \"
        pressing the [0-9] keys (powers of 2 in seconds\"\t\t\\\n\t    \" or + and
        - (double/halve the speed).\"\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: HIS_OPT_P
      pos:
        line_end: 61
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
      type_or_value: "VOPT(\"P:\", \"[-P <[cbE:]tag:[prefix]:field_num[:min:max]>]\",\t\\\n\t
        \   \"Custom profile definition\",\t\t\t\t\\\n\t    \"Graph the given custom
        definition defined as: an optional\" \\\n\t    \" (c)lient, (b)ackend or (E)SI
        filter (defaults to client),\"\\\n\t    \" the tag we'll look for, a prefix
        to look for (can be\"\t\\\n\t    \" empty, but must be terminated by a colon)
        and the field\"\t\\\n\t    \" number of the value we are interested in. min
        and max are\"\\\n\t    \" the boundaries of the graph in powers of ten and
        default\"\t\\\n\t    \" to -6 and 3.\"\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: HIS_OPT_B
      pos:
        line_end: 71
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
      type_or_value: "VOPT(\"B:\", \"[-B <factor>]\",\t\t\t\t\t\\\n\t    \"Time bending\",\t\t\t\t\t\t\\\n\t
        \   \"Factor to bend time by. Particularly useful when\"\t\t\\\n\t    \" [-r]eading
        from a vsl file. =1 process in near real\"\t\\\n\t    \" time, <1 slow-motion,
        >1 time-lapse (useless unless\"\t\\\n\t    \" reading from a file). At runtime,
        < halves and\"\t\t\\\n\t    \" > doubles.\"\t\t\t\t\t\t\\\n\t    )"
    - item_type: preproc_def
      name: HIS_CLIENT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
      type_or_value: '"client"'
    - item_type: preproc_def
      name: HIS_BACKEND
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
      type_or_value: '"backend"'
    - item_type: preproc_def
      name: HIS_NO_PREFIX
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist_options.h
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - HIS_PROF
  - update
  - upd_vsl_ts
  - delorean
  - accumulate
  - do_curses
  - v_noreturn_::profile_error
  - main
  source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VOPT_INC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
      type_or_value: '"vinylhist_options.h"'
    - item_type: preproc_def
      name: HIST_N
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
      type_or_value: "2000\t\t"
    - item_type: preproc_def
      name: HIST_RES
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
      type_or_value: "100\t\t"
    - item_type: preproc_def
      name: HIS_NO_PREFIX
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: HIS_CLIENT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
      type_or_value: '''c'''
    - item_type: preproc_def
      name: HIS_BACKEND
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
      type_or_value: '''b'''
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: VSL_arg
        type: char
      - name: tag
        type: enum VSL_tag_e
      - name: '*prefix'
        type: char
      - name: field
        type: int
      - name: hist_low
        type: int
      - name: hist_high
        type: int
      item_type: struct
      name: profile
      pos:
        line_end: 117
        line_start: 109
        source_file: /src/vinyl-cache/bin/vinylhist/vinylhist.c
    typedefs: []
    union: []
- function_names:
  - BINDING_KEY
  - BINDING
  - main
  source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_help_gen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BINDING_CTRL
  source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_bindings.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinylstat/vinylstat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - init_hitrate
  - update_ma
  - update_position
  - delete_pt_array
  - build_pt_array
  - sample_points
  - sample_hitrate
  - sample_data
  - destroy_window
  - make_windows
  - print_duration
  - running
  - draw_status
  - draw_bar_t
  - draw_line_default
  - scale_bytes
  - print_bytes
  - print_trunc
  - draw_line_bytes
  - draw_line_bitmap
  - draw_line_duration
  - draw_line
  - draw_points
  - draw_help
  - draw_bar_b
  - draw_info
  - draw_screen
  - handle_common_keypress
  - handle_points_keypress
  - handle_help_keypress
  - handle_keypress
  - BINDING_KEY
  - BINDING
  - newpt
  - delpt
  - do_curses
  source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINES_STATUS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LINES_BAR_T
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LINES_BAR_B
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LINES_INFO
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '3'
    - item_type: preproc_def
      name: LINES_POINTS_MIN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '3'
    - item_type: preproc_def
      name: N_COL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '6'
    - item_type: preproc_def
      name: COLW
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '14'
    - item_type: preproc_def
      name: COLW_NAME_MIN
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '24'
    - item_type: preproc_def
      name: VALUE_MAX
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '999999999999'
    - item_type: preproc_def
      name: REBUILD_NEXT
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: (1u << 0)
    - item_type: preproc_def
      name: REBUILD_FIRST
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: (1u << 1)
    - item_type: preproc_def
      name: PT_MAGIC
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '0x41698E4F'
    - item_type: preproc_def
      name: NOTIF_MAXLEN
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
      type_or_value: '256'
    structs:
    - fields:
      - name: n
        type: unsigned
      - name: acc
        type: double
      item_type: struct
      name: ma
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - fields:
      - name: magic
        type: unsigned
      - name: list
        type: VTAILQ_ENTRY
      - name: '*vpt'
        type: struct VSC_point
      - name: seen
        type: char
      - name: cur
        type: uint64_t
      - name: t_cur
        type: double
      - name: chg
        type: double
      - name: ma_10
        type: struct ma
      item_type: struct
      name: pt
      pos:
        line_end: 93
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    - fields:
      - name: lhit
        type: uint64_t
      - name: hr_10
        type: struct ma
      - name: hr_100
        type: struct ma
      - name: hr_1000
        type: struct ma
      item_type: struct
      name: hitrate
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_curses.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STAT_OPT_1
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_options.h
      type_or_value: "VOPT(\"1\", \"[-1]\", \"Print the statistics to stdout\",\t\t\\\n\t
        \   \"Instead of presenting a continuously updated display,\"\t\\\n\t    \"
        print the statistics to stdout. This is the default when\"\t\\\n\t    \"standard
        output is being redirected\"\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: STAT_OPT_c
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_options.h
      type_or_value: "VOPT(\"c\", \"[-c]\", \"Live (curses) mode\",\t\t\t\t\\\n\t
        \   \"Presents a continuously updated, interactive display.\"\t\\\n\t    \"
        This is the default when the standard output isn't\"\t\\\n\t    \" redirected.\"\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: STAT_OPT_j
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_options.h
      type_or_value: "VOPT(\"j\", \"[-j]\", \"Print statistics to stdout as JSON\",\t\t\\\n\t
        \   \"Print statistics to stdout as JSON.\"\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: STAT_OPT_l
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_options.h
      type_or_value: "VOPT(\"l\", \"[-l]\",\t\t\t\t\t\t\\\n\t    \"Lists the available
        fields to use with the -f option\",\t\\\n\t    \"Lists the available fields
        to use with the -f option.\"\t\\\n\t)"
    - item_type: preproc_def
      name: STAT_OPT_r
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_options.h
      type_or_value: "VOPT(\"r\", \"[-r]\", \"Toggle raw or adjusted gauges\",\t\t\\\n\t
        \   \"Toggle raw or adjusted gauges, adjusted is the default.\"\t\\\n\t)"
    - item_type: preproc_def
      name: STAT_OPT_x
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat_options.h
      type_or_value: "VOPT(\"x\", \"[-x]\", \"Print statistics to stdout as XML\",\t\t\\\n\t
        \   \"Print statistics to stdout as XML.\"\t\t\t\\\n\t)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_xml_cb
  - do_xml
  - do_json_cb
  - do_json
  - do_once_cb_first
  - do_once_cb
  - do_once
  - do_list_cb
  - list_fields
  - v_noreturn_::usage
  - key_bindings
  - BINDING_KEY
  - BINDING
  - main
  source_file: /src/vinyl-cache/bin/vinylstat/vinylstat.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VOPT_INC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat.c
      type_or_value: '"vinylstat_options.h"'
    structs:
    - fields:
      - name: up
        type: double
      - name: pad
        type: int
      item_type: struct
      name: once_priv
      pos:
        line_end: 155
        line_start: 152
        source_file: /src/vinyl-cache/bin/vinylstat/vinylstat.c
    typedefs: []
    union: []
- function_names:
  - vinyl_fatal_cleanup
  - vinyl_fatal
  - vinyl_ask_cli
  - wait_stopped
  - wait_running
  - vinyllog_thread
  - vinyl_new
  - vinyl_delete
  - vinyl_thread
  - vinyl_launch
  - VINYL_LAUNCH
  - vinyl_listen
  - vinyl_start
  - vinyl_stop
  - vinyl_cleanup
  - vinyl_wait
  - vinyl_cli_json
  - vinyl_cli
  - vinyl_vcl
  - vinyl_vclbackend
  - do_stat_dump_cb
  - vinyl_vsc
  - stat_match
  - do_expect_cb
  - vinyl_expect
  - vsl_catchup
  - cmd_vinyl
  source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VINYL_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
      type_or_value: '0x208cd8e4'
    - item_type: preproc_def
      name: NONSENSE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
      type_or_value: '"%XJEIFLH|)Xspa8P"'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*me'
        type: char
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: (vinyl)
        type: VTAILQ_ENTRY
      - name: '*args'
        type: struct vsb
      - name: fds[4]
        type: int
      - name: pid
        type: pid_t
      - name: syntax
        type: double
      - name: tp
        type: pthread_t
      - name: tp_vsl
        type: pthread_t
      - name: tp_started
        type: int
      - name: expect_exit
        type: int
      - name: cli_fd
        type: int
      - name: vcl_nbr
        type: int
      - name: '*workdir'
        type: char
      - name: '*jail'
        type: char
      - name: '*proto'
        type: char
      - name: '*vsm_vsl'
        type: struct vsm
      - name: '*vsm_vsc'
        type: struct vsm
      - name: '*vsc'
        type: struct vsc
      - name: has_a_arg
        type: int
      - name: vsl_tag_count[256]
        type: unsigned
      - name: vsl_rec
        type: int
      - name: vsl_idle
        type: int
      item_type: struct
      name: vinyl
      pos:
        line_end: 92
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - fields:
      - name: '*arg'
        type: char
      - name: '*v'
        type: struct vinyl
      item_type: struct
      name: dump_priv
      pos:
        line_end: 923
        line_start: 920
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - fields:
      - name: '*pattern'
        type: char
      - name: val
        type: uintmax_t
      - name: good
        type: unsigned
      item_type: struct
      name: stat_arg
      pos:
        line_end: 971
        line_start: 967
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    - fields:
      - name: lhs
        type: struct stat_arg
      - name: rhs
        type: struct stat_arg
      item_type: struct
      name: stat_priv
      pos:
        line_end: 976
        line_start: 973
        source_file: /src/vinyl-cache/bin/vinyltest/vtc_vinyl.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_CLOCK_GETTIME
      pos:
        line_end: 1
        line_start: 0
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_NANOSLEEP
      pos:
        line_end: 2
        line_start: 1
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_ZLIB
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: "1\t// otherwise use vgz + libvarnish"
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 6
        line_start: 5
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_VFS_H
      pos:
        line_end: 7
        line_start: 6
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_FALLOCATE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_STATVFS_H
      pos:
        line_end: 10
        line_start: 9
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_SYS_MOUNT_H
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_CLOSEFROM
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/config.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vtc_hex_to_bin
  - vtc_expect
  - vtc_wait4
  - vtc_record
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_subr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/cmds.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - varnish_fatal_cleanup
  - varnish_fatal
  - varnish_ask_cli
  - wait_stopped
  - wait_running
  - varnishlog_thread
  - varnish_new
  - varnish_delete
  - varnish_thread
  - varnish_launch
  - VARNISH_LAUNCH
  - varnish_listen
  - varnish_start
  - varnish_stop
  - varnish_cleanup
  - varnish_wait
  - varnish_cli_json
  - varnish_cli
  - varnish_vcl
  - varnish_vclbackend
  - do_stat_dump_cb
  - varnish_vsc
  - stat_match
  - do_expect_cb
  - varnish_expect
  - vsl_catchup
  - cmd_varnish
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VARNISH_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
      type_or_value: '0x208cd8e3'
    - item_type: preproc_def
      name: NONSENSE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
      type_or_value: '"%XJEIFLH|)Xspa8P"'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: (varnish)
        type: VTAILQ_ENTRY
      - name: '*args'
        type: struct vsb
      - name: fds[4]
        type: int
      - name: pid
        type: pid_t
      - name: syntax
        type: double
      - name: tp
        type: pthread_t
      - name: tp_vsl
        type: pthread_t
      - name: tp_started
        type: int
      - name: expect_exit
        type: int
      - name: cli_fd
        type: int
      - name: vcl_nbr
        type: int
      - name: '*workdir'
        type: char
      - name: '*jail'
        type: char
      - name: '*proto'
        type: char
      - name: '*vsm_vsl'
        type: struct vsm
      - name: '*vsm_vsc'
        type: struct vsm
      - name: '*vsc'
        type: struct vsc
      - name: has_a_arg
        type: int
      - name: vsl_tag_count[256]
        type: unsigned
      - name: vsl_rec
        type: int
      - name: vsl_idle
        type: int
      item_type: struct
      name: varnish
      pos:
        line_end: 91
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - fields:
      - name: '*arg'
        type: char
      - name: '*v'
        type: struct varnish
      item_type: struct
      name: dump_priv
      pos:
        line_end: 922
        line_start: 919
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - fields:
      - name: '*pattern'
        type: char
      - name: val
        type: uintmax_t
      - name: good
        type: unsigned
      item_type: struct
      name: stat_arg
      pos:
        line_end: 970
        line_start: 966
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    - fields:
      - name: lhs
        type: struct stat_arg
      - name: rhs
        type: struct stat_arg
      item_type: struct
      name: stat_priv
      pos:
        line_end: 975
        line_start: 972
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_varnish.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_stattbl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Sess_New
  - Sess_Destroy
  - Sess_GetOpt
  - sess_process
  - sess_thread
  - Sess_Start_Thread
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREAD_ARG_MAGIC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
      type_or_value: '0xd5dc5f1c'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*priv'
        type: void
      - name: '*conn_f'
        type: sess_conn_f
      - name: '*disc_f'
        type: sess_disc_f
      - name: '*listen_addr'
        type: char
      - name: '*vsp'
        type: struct vtc_sess
      - name: '*asocket'
        type: int
      - name: '*spec'
        type: char
      item_type: struct
      name: thread_arg
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_sess.c
    typedefs: []
    union: []
- function_names:
  - server_new
  - server_delete
  - uds_listen
  - server_listen_uds
  - server_listen_tcp
  - server_listen
  - server_conn
  - server_disc
  - server_start_thread
  - server_start
  - server_dispatch_wrk
  - server_dispatch_thread
  - server_dispatch
  - server_break
  - server_wait
  - cmd_server_gen_vcl
  - cmd_server_gen_haproxy_conf
  - cmd_server
  - init_server
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SERVER_MAGIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
      type_or_value: '0x55286619'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: (server)
        type: VTAILQ_ENTRY
      - name: '*vsp'
        type: struct vtc_sess
      - name: run
        type: char
      - name: '*spec'
        type: char
      - name: depth
        type: int
      - name: sock
        type: int
      - name: fd
        type: int
      - name: is_dispatch
        type: unsigned
      - name: listen[256]
        type: char
      - name: aaddr[VTCP_ADDRBUFSIZE]
        type: char
      - name: aport[VTCP_PORTBUFSIZE]
        type: char
      - name: tp
        type: pthread_t
      item_type: struct
      name: server
      pos:
        line_end: 66
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    - fields:
      - name: depth
        type: int
      - name: '**errp'
        type: char
      item_type: struct
      name: helper
      pos:
        line_end: 126
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_server.c
    typedefs: []
    union: []
- function_names:
  - ITER_DONE
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_priv.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: header
        type: struct hpk_hdr
      - name: (dynhdr)
        type: VTAILQ_ENTRY
      item_type: struct
      name: dynhdr
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_priv.h
    - fields:
      - name: '*ctx'
        type: struct hpk_ctx
      - name: '*orig'
        type: uint8_t
      - name: '*buf'
        type: uint8_t
      - name: '*end'
        type: uint8_t
      item_type: struct
      name: hpk_iter
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_priv.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_HDR
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.h
      type_or_value: '64'
    - item_type: preproc_def
      name: VTC_SESS_MAGIC
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.h
      type_or_value: '0x932bd565'
    - item_type: preproc_def
      name: HTTP_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.h
      type_or_value: '0x2f02169c'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vl'
        type: struct vtclog
      - name: '*name'
        type: char
      - name: repeat
        type: int
      - name: keepalive
        type: int
      - name: '*fd'
        type: int
      - name: rcvbuf
        type: ssize_t
      item_type: struct
      name: vtc_sess
      pos:
        line_end: 44
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.h
    - fields:
      - name: init
        type: uint64_t
      - name: size
        type: int64_t
      item_type: struct
      name: h2_window
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*sfd'
        type: int
      - name: '*sess'
        type: struct vtc_sess
      - name: timeout
        type: vtim_dur
      - name: '*vl'
        type: struct vtclog
      - name: '*vsb'
        type: struct vsb
      - name: rcvbuf
        type: int
      - name: nrxbuf
        type: int
      - name: '*rx_b'
        type: char
      - name: '*rx_p'
        type: char
      - name: '*rx_e'
        type: char
      - name: '*rem_ip'
        type: char
      - name: '*rem_port'
        type: char
      - name: '*rem_path'
        type: char
      - name: '*body'
        type: char
      - name: bodyl
        type: long
      - name: bodylen[20]
        type: char
      - name: chunklen[20]
        type: char
      - name: '*req[MAX_HDR]'
        type: char
      - name: '*resp[MAX_HDR]'
        type: char
      - name: gziplevel
        type: int
      - name: gzipresidual
        type: int
      - name: head_method
        type: int
      - name: fatal
        type: int
      - name: h2
        type: unsigned
      - name: wf
        type: int
      - name: no_rfc7540_priorities
        type: int
      - name: tp
        type: pthread_t
      - name: (, stream)
        type: VTAILQ_HEAD
      - name: last_stream
        type: unsigned
      - name: mtx
        type: pthread_mutex_t
      - name: cond
        type: pthread_cond_t
      - name: '*encctx'
        type: struct hpk_ctx
      - name: '*decctx'
        type: struct hpk_ctx
      - name: h2_win_self[1]
        type: struct h2_window
      - name: h2_win_peer[1]
        type: struct h2_window
      item_type: struct
      name: http
      pos:
        line_end: 98
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/hpack.h
  types:
    enum:
    - enumerators:
      - name: hpk_more
        value: '0'
      - name: hpk_done
      - name: hpk_err
      item_type: enum
      name: hpk_result
      pos:
        line_end: 36
        line_start: 32
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/hpack.h
    - enumerators:
      - name: hpk_unset
        value: '0'
      - name: hpk_inc
      - name: hpk_not
      - name: hpk_idx
      - name: hpk_never
      item_type: enum
      name: hpk_indexed
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/hpack.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*ptr'
        type: char
      - name: len
        type: int
      - name: huff
        type: int
      item_type: struct
      name: hpk_txt
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/hpack.h
    - fields:
      - name: key
        type: struct hpk_txt
      - name: value
        type: struct hpk_txt
      - name: t
        type: enum hpk_indexed
      - name: i
        type: unsigned
      item_type: struct
      name: hpk_hdr
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/hpack.h
    typedefs: []
    union: []
- function_names:
  - term_cursor
  - term_putchar
  - term_fill
  - term_copy
  - term_respond
  - term_param
  - term_screen_dump
  - term_resize
  - term_find_textline
  - term_find_text
  - term_expect_text
  - term_expect_cursor
  - term_match_text
  - PROCESS_EXPAND
  - process_coverage
  - process_new
  - process_delete
  - process_undef
  - process_vlu_func
  - process_stdout
  - process_stderr
  - process_cleanup
  - process_thread
  - process_winsz
  - process_init_term
  - process_start
  - process_wait
  - process_kill
  - process_write
  - process_write_hex
  - process_close
  - cmd_process
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PROCESS_MAGIC
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
      type_or_value: '0x1617b43e'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: (process)
        type: VTAILQ_ENTRY
      - name: '*spec'
        type: char
      - name: '*dir'
        type: char
      - name: '*out'
        type: char
      - name: '*err'
        type: char
      - name: fd_term
        type: int
      - name: fd_stderr
        type: int
      - name: f_stdout
        type: int
      - name: f_stderr
        type: int
      - name: '*vlu_stdout'
        type: struct vlu
      - name: '*vlu_stderr'
        type: struct vlu
      - name: log
        type: int
      - name: pid
        type: pid_t
      - name: expect_exit
        type: int
      - name: expect_signal
        type: int
      - name: allow_core
        type: int
      - name: stdout_bytes
        type: uintmax_t
      - name: stderr_bytes
        type: uintmax_t
      - name: mtx
        type: pthread_mutex_t
      - name: tp
        type: pthread_t
      - name: hasthread
        type: unsigned
      - name: nlin
        type: int
      - name: ncol
        type: int
      - name: ansi_response
        type: int
      - name: '**vram'
        type: char
      - name: tek[1]
        type: teken_t
      item_type: struct
      name: process
      pos:
        line_end: 95
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_process.c
    typedefs: []
    union: []
- function_names:
  - TP_SETBELLPD_PITCH
  - TP_SETBELLPD_DURATION
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TF_BOLD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: "0x01\t"
    - item_type: preproc_def
      name: TF_UNDERLINE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: "0x02\t"
    - item_type: preproc_def
      name: TF_BLINK
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: "0x04\t"
    - item_type: preproc_def
      name: TF_REVERSE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: "0x08\t"
    - item_type: preproc_def
      name: TF_CJK_RIGHT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: "0x10\t"
    - item_type: preproc_def
      name: TF_IMAGE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: "0x20\t"
    - item_type: preproc_def
      name: TC_BLACK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TC_RED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TC_GREEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TC_YELLOW
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TC_BLUE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TC_MAGENTA
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TC_CYAN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TC_WHITE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TC_NCOLORS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TC_LIGHT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: TP_SHOWCURSOR
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TP_KEYPADAPP
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TP_AUTOREPEAT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TP_SWITCHVT
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '3'
    - item_type: preproc_def
      name: TP_132COLS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TP_SETBELLPD
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '5'
    - item_type: preproc_def
      name: TP_MOUSE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '6'
    - item_type: preproc_def
      name: TP_SETBORDER
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '7'
    - item_type: preproc_def
      name: TP_SETLOCALCURSOR
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '8'
    - item_type: preproc_def
      name: TP_SETGLOBALCURSOR
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '9'
    - item_type: preproc_def
      name: T_NUMSIZE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '8'
    - item_type: preproc_def
      name: T_NUMCOL
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '160'
    - item_type: preproc_def
      name: TKEY_UP
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: TKEY_DOWN
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: TKEY_LEFT
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: TKEY_RIGHT
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: TKEY_HOME
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: TKEY_END
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: TKEY_INSERT
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x06'
    - item_type: preproc_def
      name: TKEY_DELETE
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x07'
    - item_type: preproc_def
      name: TKEY_PAGE_UP
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: TKEY_PAGE_DOWN
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x09'
    - item_type: preproc_def
      name: TKEY_F1
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x0a'
    - item_type: preproc_def
      name: TKEY_F2
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x0b'
    - item_type: preproc_def
      name: TKEY_F3
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x0c'
    - item_type: preproc_def
      name: TKEY_F4
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x0d'
    - item_type: preproc_def
      name: TKEY_F5
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x0e'
    - item_type: preproc_def
      name: TKEY_F6
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x0f'
    - item_type: preproc_def
      name: TKEY_F7
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: TKEY_F8
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x11'
    - item_type: preproc_def
      name: TKEY_F9
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x12'
    - item_type: preproc_def
      name: TKEY_F10
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x13'
    - item_type: preproc_def
      name: TKEY_F11
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x14'
    - item_type: preproc_def
      name: TKEY_F12
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type_or_value: '0x15'
    structs:
    - fields:
      - name: tp_row
        type: teken_unit_t
      - name: tp_col
        type: teken_unit_t
      item_type: struct
      name: teken_pos_t
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    - fields:
      - name: tr_begin
        type: teken_pos_t
      - name: tr_end
        type: teken_pos_t
      item_type: struct
      name: teken_rect_t
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    - fields:
      - name: ta_format
        type: teken_format_t
      - name: ta_fgcolor
        type: teken_color_t
      - name: ta_bgcolor
        type: teken_color_t
      item_type: struct
      name: teken_attr_t
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    - fields:
      - name: ts_begin
        type: teken_unit_t
      - name: ts_end
        type: teken_unit_t
      item_type: struct
      name: teken_span_t
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    - fields:
      - name: '*tf_bell'
        type: tf_bell_t
      - name: '*tf_cursor'
        type: tf_cursor_t
      - name: '*tf_putchar'
        type: tf_putchar_t
      - name: '*tf_fill'
        type: tf_fill_t
      - name: '*tf_copy'
        type: tf_copy_t
      - name: '*tf_pre_input'
        type: tf_pre_input_t
      - name: '*tf_post_input'
        type: tf_post_input_t
      - name: '*tf_param'
        type: tf_param_t
      - name: '*tf_respond'
        type: tf_respond_t
      item_type: struct
      name: teken_funcs_t
      pos:
        line_end: 121
        line_start: 111
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    - fields:
      - name: '*t_funcs'
        type: teken_funcs_t
      - name: '*t_softc'
        type: void
      - name: '*t_nextstate'
        type: teken_state_t
      - name: t_stateflags
        type: unsigned int
      - name: t_nums[T_NUMSIZE]
        type: unsigned int
      - name: t_curnum
        type: unsigned int
      - name: t_cursor
        type: teken_pos_t
      - name: t_curattr
        type: teken_attr_t
      - name: t_saved_cursor
        type: teken_pos_t
      - name: t_saved_curattr
        type: teken_attr_t
      - name: t_defattr
        type: teken_attr_t
      - name: t_winsize
        type: teken_pos_t
      - name: t_scrollreg
        type: teken_span_t
      - name: t_originreg
        type: teken_span_t
      - name: t_tabstops[T_NUMCOL / (sizeof(unsigned int) * 8)]
        type: unsigned int
      - name: t_utf8_left
        type: unsigned int
      - name: t_utf8_partial
        type: teken_char_t
      - name: t_last
        type: teken_char_t
      - name: t_curscs
        type: unsigned int
      - name: '*t_saved_curscs'
        type: teken_scs_t
      - name: '*t_scs[2]'
        type: teken_scs_t
      item_type: struct
      name: __teken
      pos:
        line_end: 163
        line_start: 129
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
    typedefs:
    - item_type: typedef
      name: teken_char_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: uint32_t
    - item_type: typedef
      name: teken_unit_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: unsigned short
    - item_type: typedef
      name: teken_format_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: unsigned char
    - item_type: typedef
      name: teken_color_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: unsigned char
    - item_type: typedef
      name: teken_t
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: __teken
    - item_type: typedef
      name: teken_state_t(teken_t *, teken_char_t)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: tf_bell_t(void *)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: tf_cursor_t(void *, const teken_pos_t *)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: "tf_putchar_t(void *, const teken_pos_t *, teken_char_t,\n    const teken_attr_t
        *)"
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: "tf_fill_t(void *, const teken_rect_t *, teken_char_t,\n    const teken_attr_t
        *)"
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: tf_copy_t(void *, const teken_rect_t *, const teken_pos_t *)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: tf_pre_input_t(void *)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: tf_post_input_t(void *)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: tf_param_t(void *, int, unsigned int)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: tf_respond_t(void *, const void *, size_t)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: void
    - item_type: typedef
      name: teken_scs_t(const teken_t *, teken_char_t)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.h
      type: teken_char_t
    union: []
- function_names:
  - pp2cmp
  - vtc_proxy_tlv
  - vpx_enc_addr
  - vpx_enc_port
  - vtc_send_proxy
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PP2_TYPE_ALPN
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PP2_TYPE_AUTHORITY
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PP2_TYPE_CRC32C
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PP2_TYPE_NOOP
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PP2_TYPE_UNIQUE_ID
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x05'
    - item_type: preproc_def
      name: PP2_TYPE_SSL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_VERSION
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x21'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_CN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x22'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_CIPHER
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x23'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_SIG_ALG
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x24'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_KEY_ALG
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x25'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_MAX
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x25'
    - item_type: preproc_def
      name: PP2_TYPE_NETNS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
      type_or_value: '0x30'
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: type
        type: uint8_t
      item_type: struct
      name: pp2_type
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_proxy.c
    typedefs: []
    union: []
- function_names:
  - vtc_vrnd_lock
  - vtc_vrnd_unlock
  - add_cmd
  - find_cmd
  - init_cmd_list
  - CMD_GLOBAL
  - CMD_TOP
  - add_extension
  - init_extensions
  - macro_def_int
  - extmacro_def
  - init_macro
  - macro_def
  - macro_undef
  - macro_isdef
  - macro_cat
  - macro_expandf
  - macro_expand
  - parse_string
  - reset_cmd
  - reset_cmds
  - fail_out
  - exec_file
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TOKENS
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
      type_or_value: '200'
    - item_type: preproc_def
      name: ICMDS_MAGIC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
      type_or_value: '0xa743d463'
    - item_type: preproc_def
      name: EXTENSION_MAGIC
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
      type_or_value: '0x69e788db'
    - item_type: preproc_def
      name: MACRO_MAGIC
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
      type_or_value: '0x803423e3'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*cmd'
        type: struct cmds
      - name: (icmds)
        type: VTAILQ_ENTRY
      item_type: struct
      name: icmds
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - fields:
      - name: magic
        type: unsigned
      - name: (extension)
        type: VTAILQ_ENTRY
      - name: '*name'
        type: char
      item_type: struct
      name: extension
      pos:
        line_end: 156
        line_start: 151
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    - fields:
      - name: magic
        type: unsigned
      - name: (macro)
        type: VTAILQ_ENTRY
      - name: '*name'
        type: char
      - name: '*val'
        type: char
      - name: '*func'
        type: macro_f
      item_type: struct
      name: macro
      pos:
        line_end: 211
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.c
    typedefs: []
    union: []
- function_names:
  - teken_tab_isset
  - teken_tab_clear
  - teken_tab_set
  - teken_tab_default
  - teken_subr_do_scroll
  - teken_subr_do_cpr
  - teken_subr_alignment_test
  - teken_subr_backspace
  - teken_subr_bell
  - teken_subr_carriage_return
  - teken_subr_cursor_backward
  - teken_subr_cursor_backward_tabulation
  - teken_subr_cursor_down
  - teken_subr_cursor_forward
  - teken_subr_cursor_forward_tabulation
  - teken_subr_cursor_next_line
  - teken_subr_cursor_position
  - teken_subr_cursor_position_report
  - teken_subr_cursor_previous_line
  - teken_subr_cursor_up
  - teken_subr_set_cursor_style
  - teken_subr_delete_character
  - teken_subr_delete_line
  - teken_subr_device_control_string
  - teken_subr_device_status_report
  - teken_subr_double_height_double_width_line_top
  - teken_subr_double_height_double_width_line_bottom
  - teken_subr_erase_character
  - teken_subr_erase_display
  - teken_subr_erase_line
  - teken_subr_g0_scs_special_graphics
  - teken_subr_g0_scs_uk_national
  - teken_subr_g0_scs_us_ascii
  - teken_subr_g1_scs_special_graphics
  - teken_subr_g1_scs_uk_national
  - teken_subr_g1_scs_us_ascii
  - teken_subr_horizontal_position_absolute
  - teken_subr_horizontal_tab
  - teken_subr_horizontal_tab_set
  - teken_subr_index
  - teken_subr_insert_character
  - teken_subr_insert_line
  - teken_subr_keypad_application_mode
  - teken_subr_keypad_numeric_mode
  - teken_subr_newline
  - teken_subr_newpage
  - teken_subr_next_line
  - teken_subr_operating_system_command
  - teken_subr_pan_down
  - teken_subr_pan_up
  - teken_subr_primary_device_attributes
  - teken_subr_do_putchar
  - teken_subr_regular_character
  - teken_subr_reset_dec_mode
  - teken_subr_reset_mode
  - teken_subr_do_resize
  - teken_subr_do_reset
  - teken_subr_reset_to_initial_state
  - teken_subr_restore_cursor
  - teken_subr_reverse_index
  - teken_subr_save_cursor
  - teken_subr_secondary_device_attributes
  - teken_subr_set_dec_mode
  - teken_subr_set_mode
  - teken_subr_set_graphic_rendition
  - teken_subr_set_top_and_bottom_margins
  - teken_subr_single_height_double_width_line
  - teken_subr_single_height_single_width_line
  - teken_subr_string_terminator
  - teken_subr_tab_clear
  - teken_subr_vertical_position_absolute
  - teken_subr_repeat_last_graphic_char
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - teken_assert
  - teken_funcs_bell
  - teken_funcs_cursor
  - teken_funcs_putchar
  - teken_funcs_fill
  - teken_funcs_copy
  - teken_funcs_pre_input
  - teken_funcs_post_input
  - teken_funcs_param
  - teken_funcs_respond
  - teken_init
  - teken_input_char
  - teken_input_byte
  - teken_input
  - teken_get_cursor
  - teken_set_cursor
  - teken_get_curattr
  - teken_set_curattr
  - teken_get_defattr
  - teken_set_defattr
  - teken_get_winsize
  - teken_trim_cursor_pos
  - teken_set_winsize
  - teken_set_winsize_noreset
  - teken_set_8bit
  - teken_set_cons25
  - teken_state_switch
  - teken_state_numbers
  - teken_256to8
  - teken_256to16
  - teken_get_sequence
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TS_FIRSTDIGIT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0001\t"
    - item_type: preproc_def
      name: TS_INSERT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0002\t"
    - item_type: preproc_def
      name: TS_AUTOWRAP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0004\t"
    - item_type: preproc_def
      name: TS_ORIGIN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0008\t"
    - item_type: preproc_def
      name: TS_WRAPPED
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0010\t"
    - item_type: preproc_def
      name: TS_8BIT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0020\t"
    - item_type: preproc_def
      name: TS_CONS25
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0040\t"
    - item_type: preproc_def
      name: TS_INSTRING
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0080\t"
    - item_type: preproc_def
      name: TS_CURSORKEYS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: "0x0100\t"
    - item_type: preproc_def
      name: BLANK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: ''' '''
    - item_type: preproc_def
      name: k
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_BLACK
    - item_type: preproc_def
      name: b
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_BLUE
    - item_type: preproc_def
      name: y
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_YELLOW
    - item_type: preproc_def
      name: c
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_CYAN
    - item_type: preproc_def
      name: g
      pos:
        line_end: 479
        line_start: 478
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_GREEN
    - item_type: preproc_def
      name: m
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_MAGENTA
    - item_type: preproc_def
      name: r
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_RED
    - item_type: preproc_def
      name: w
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: TC_WHITE
    - item_type: preproc_def
      name: K
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_BLACK | TC_LIGHT)
    - item_type: preproc_def
      name: B
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_BLUE | TC_LIGHT)
    - item_type: preproc_def
      name: Y
      pos:
        line_end: 485
        line_start: 484
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_YELLOW | TC_LIGHT)
    - item_type: preproc_def
      name: C
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_CYAN | TC_LIGHT)
    - item_type: preproc_def
      name: G
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_GREEN | TC_LIGHT)
    - item_type: preproc_def
      name: M
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_MAGENTA | TC_LIGHT)
    - item_type: preproc_def
      name: R
      pos:
        line_end: 489
        line_start: 488
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_RED | TC_LIGHT)
    - item_type: preproc_def
      name: W
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken.c
      type_or_value: (TC_WHITE | TC_LIGHT)
    structs: []
    typedefs: []
    union: []
- function_names:
  - clean_headers
  - ONLY_H2_CLIENT
  - ONLY_H2_SERVER
  - http_write
  - get_bytes
  - readFrameHeader
  - writeFrameHeader
  - INIT_FRAME
  - replace_frame
  - clean_frame
  - write_frame
  - exclusive_stream_dependency
  - explain_flags
  - parse_data
  - decode_hdr
  - parse_hdr
  - parse_prio
  - parse_rst
  - parse_settings
  - parse_ping
  - parse_goaway
  - parse_winup
  - receive_frame
  - STRTOU32
  - STRTOU32_CHECK
  - CHECK_LAST_FRAME
  - RETURN_SETTING
  - RETURN_SETTING_BOOL
  - RETURN_BUFFED
  - find_header
  - cmd_var_resolve
  - H2_ERROR
  - cmd_sendhex
  - ENC
  - STR_ENC
  - cmd_tx11obj
  - AV_IS
  - CMD_IS
  - cmd_txdata
  - cmd_txrst
  - cmd_txprio
  - PUT
  - PUT_KV
  - PUT_BOOL
  - cmd_txsettings
  - cmd_txping
  - cmd_txgoaway
  - cmd_txwinup
  - rxstuff
  - CHKFRAME
  - cmd_rxhdrs
  - cmd_rxcont
  - cmd_rxdata
  - cmd_rxmsg
  - cmd_rxpush
  - cmd_rxwinup
  - cmd_rxsettings
  - cmd_rxprio
  - RXFUNC
  - cmd_rxframe
  - cmd_expect
  - cmd_gunzip
  - cmd_write_body
  - stream_thread
  - stream_new
  - stream_delete
  - stream_start
  - stream_wait
  - stream_run
  - cmd_stream
  - b64_settings
  - start_h2
  - stop_h2
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ERR_MAX
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: '13'
    - item_type: preproc_def
      name: BUF_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: (1024*2048)
    - item_type: preproc_def
      name: STREAM_MAGIC
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: '0x63f1fac2'
    - item_type: preproc_def
      name: FRAME_MAGIC
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: '0x5dd3ec4'
    - item_type: preproc_def
      name: cmd_txreq
      pos:
        line_end: 1435
        line_start: 1434
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: cmd_tx11obj
    - item_type: preproc_def
      name: cmd_txresp
      pos:
        line_end: 1436
        line_start: 1435
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: cmd_tx11obj
    - item_type: preproc_def
      name: cmd_txpush
      pos:
        line_end: 1437
        line_start: 1436
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: cmd_tx11obj
    - item_type: preproc_def
      name: cmd_txcont
      pos:
        line_end: 1438
        line_start: 1437
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: cmd_tx11obj
    - item_type: preproc_def
      name: cmd_rxreq
      pos:
        line_end: 2357
        line_start: 2356
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: cmd_rxmsg
    - item_type: preproc_def
      name: cmd_rxresp
      pos:
        line_end: 2358
        line_start: 2357
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
      type_or_value: cmd_rxmsg
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: size
        type: uint32_t
      - name: stid
        type: uint32_t
      - name: type
        type: uint8_t
      - name: flags
        type: uint8_t
      - name: '*data'
        type: char
      - name: (frame)
        type: VTAILQ_ENTRY
      - name: md
        type: "union {\n\t\tstruct {\n\t\t\tuint32_t stream;\n\t\t\tuint8_t  exclusive;\n\t\t\tuint8_t
          \ weight;\n\t\t}\t\tprio;\n\t\tuint32_t\trst_err;\n\t\tdouble settings[SETTINGS_MAX+1];\n\t\tstruct
          {\n\t\t\tchar data[9];\n\t\t\tint ack;\n\t\t}\t\tping;\n\t\tstruct {\n\t\t\tuint32_t
          err;\n\t\t\tuint32_t stream;\n\t\t\tchar\t *debug;\n\t\t}\t\tgoaway;\n\t\tuint32_t\twinup_size;\n\t\tuint32_t\tpromised;\n\t\tuint8_t\t\tpadded;\n\t}"
      item_type: struct
      name: frame
      pos:
        line_end: 249
        line_start: 217
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http2.c
    typedefs: []
    union: []
- function_names:
  - cmd_vtest
  - cmd_varnishtest
  - cmd_shell_engine
  - cmd_shell
  - cmd_filewrite
  - cmd_setenv
  - cmd_delay
  - cmd_include
  - dns_works
  - ipvx_works
  - addr_no_randomize_works
  - uds_socket
  - abstract_uds_works
  - cmd_feature
  - FEATURE
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_misc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CMD_GLOBAL
  - CMD_TOP
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: sess_conn_f(void *priv, struct vtclog *)
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.h
      type: int
    - item_type: typedef
      name: sess_disc_f(void *priv, struct vtclog *, int *fd)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc.h
      type: void
    union: []
- function_names:
  - teken_scs_process
  - teken_scs_special_graphics
  - teken_scs_uk_national
  - teken_scs_us_ascii
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_scs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vsm_new
  - vsm_detach
  - vsm_attach
  - vsm_delete
  - STATUS_BITS
  - vsm_expect_status
  - STATUS_BIT
  - STATUS_BIT
  - cmd_vsm
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VTC_VSM_MAGIC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
      type_or_value: '0x5ca77a36'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (vtc_vsm)
        type: VTAILQ_ENTRY
      - name: '*name'
        type: char
      - name: '*n_arg'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: '*vsm'
        type: struct vsm
      item_type: struct
      name: vtc_vsm
      pos:
        line_end: 52
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_vsm.c
    typedefs: []
    union: []
- function_names:
  - bisearch
  - teken_wcwidth
  - teken_utf8_bytes_to_codepoint
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEKEN_UTF8_INVALID_CODEPOINT
      pos:
        line_end: 11
        line_start: 10
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h
      type_or_value: '-1'
    structs:
    - fields:
      - name: first
        type: teken_char_t
      - name: last
        type: teken_char_t
      item_type: struct
      name: interval
      pos:
        line_end: 15
        line_start: 12
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_wcwidth.h
    typedefs: []
    union: []
- function_names:
  - logexp_delete_tests
  - logexp_delete
  - logexp_new
  - logexp_clean
  - logexp_alt
  - logexp_next
  - logexp_match
  - logexp_failchk
  - logexp_done
  - logexp_dispatch
  - logexp_thread
  - logexp_close
  - logexp_start
  - logexp_wait
  - cmd_logexp_common
  - cmd_logexp_expect
  - cmd_logexp_fail
  - cmd_logexp_abort
  - logexp_spec
  - cmd_logexpect
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
  types:
    enum:
    - enumerators:
      - name: LEM_OK
      - name: LEM_FAIL
      - name: LEM_SKIP
      item_type: enum
      name: le_match_e
      pos:
        line_end: 380
        line_start: 376
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    preproc_defs:
    - item_type: preproc_def
      name: LE_ANY
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: (-1)
    - item_type: preproc_def
      name: LE_LAST
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: (-2)
    - item_type: preproc_def
      name: LE_ALT
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: (-3)
    - item_type: preproc_def
      name: LE_SEEN
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: (-4)
    - item_type: preproc_def
      name: LE_FAIL
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: (-5)
    - item_type: preproc_def
      name: LE_CLEAR
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: "(-6)\t// clear fail list"
    - item_type: preproc_def
      name: LE_ABORT
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: (-7)
    - item_type: preproc_def
      name: LOGEXP_TEST_MAGIC
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: '0x6F62B350'
    - item_type: preproc_def
      name: LOGEXP_MAGIC
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
      type_or_value: '0xE81D9F1B'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (logexp_test)
        type: VTAILQ_ENTRY
      - name: (logexp_test)
        type: VTAILQ_ENTRY
      - name: '*str'
        type: struct vsb
      - name: vxid
        type: int64_t
      - name: tag
        type: int
      - name: '*vre'
        type: vre_t
      - name: skip_max
        type: int
      item_type: struct
      name: logexp_test
      pos:
        line_end: 186
        line_start: 175
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    - fields:
      - name: magic
        type: unsigned
      - name: (logexp)
        type: VTAILQ_ENTRY
      - name: '*name'
        type: char
      - name: '*vname'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: run
        type: char
      - name: tests
        type: struct tests_head
      - name: '*test'
        type: struct logexp_test
      - name: skip_cnt
        type: int
      - name: vxid_last
        type: int64_t
      - name: tag_last
        type: int
      - name: fail
        type: struct tests_head
      - name: m_arg
        type: int
      - name: err_arg
        type: int
      - name: d_arg
        type: int
      - name: g_arg
        type: enum VSL_grouping_e
      - name: '*query'
        type: char
      - name: '*vsm'
        type: struct vsm
      - name: '*vsl'
        type: struct VSL_data
      - name: '*vslq'
        type: struct VSLQ
      - name: tp
        type: pthread_t
      item_type: struct
      name: logexp
      pos:
        line_end: 218
        line_start: 190
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_logexp.c
    typedefs: []
    union: []
- function_names:
  - vtc_log_set_cmd
  - GET_VL
  - REL_VL
  - vtc_logopen
  - vtc_logclose
  - v_noreturn_::vtc_logfail
  - vtc_leadinv
  - vtc_leadin
  - vtc_log_emit
  - vtc_fatal
  - vtc_log
  - vtc_dump
  - vtc_hexdump
  - v_noreturn_::vtc_log_VAS_Fail
  - vtc_loginit
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NLEAD
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
      type_or_value: (sizeof(lead)/sizeof(lead[0]))
    - item_type: preproc_def
      name: MAX_DUMP
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.c
      type_or_value: '8192'
    structs: []
    typedefs: []
    union: []
- function_names:
  - client_proxy
  - client_tcp_connect
  - uds_open
  - client_uds_connect
  - client_connect
  - client_conn
  - client_disc
  - client_new
  - client_delete
  - client_start
  - client_wait
  - client_run
  - cmd_client
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLIENT_MAGIC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
      type_or_value: '0x6242397c'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: (client)
        type: VTAILQ_ENTRY
      - name: '*vsp'
        type: struct vtc_sess
      - name: '*spec'
        type: char
      - name: connect[256]
        type: char
      - name: '*addr'
        type: char
      - name: '*proxy_spec'
        type: char
      - name: proxy_version
        type: int
      - name: running
        type: unsigned
      - name: tp
        type: pthread_t
      item_type: struct
      name: client
      pos:
        line_end: 67
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_client.c
    typedefs: []
    union: []
- function_names:
  - haproxy_add_envar
  - haproxy_delete_envars
  - haproxy_build_env
  - haproxy_cli_tcp_connect
  - cmd_haproxy_cli_send
  - haproxy_cli_recv
  - cmd_haproxy_cli_expect
  - haproxy_cli_thread
  - haproxy_cli_wait
  - haproxy_cli_start
  - haproxy_cli_run
  - haproxy_wait_pidfile
  - haproxy_bind_sdnotify
  - haproxy_wait_sdnotify_ready
  - haproxy_cli_new
  - haproxy_mcli_new
  - haproxy_create_mcli
  - haproxy_cli_delete
  - haproxy_new
  - haproxy_delete
  - haproxy_thread
  - haproxy_start
  - haproxy_wait
  - haproxy_build_backends
  - haproxy_check_conf
  - haproxy_store_conf
  - haproxy_write_conf
  - cmd_haproxy
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAPROXY_PROGRAM_ENV_VAR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"HAPROXY_PROGRAM"'
    - item_type: preproc_def
      name: HAPROXY_ARGS_ENV_VAR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"HAPROXY_ARGS"'
    - item_type: preproc_def
      name: HAPROXY_OPT_WORKER
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"-W"'
    - item_type: preproc_def
      name: HAPROXY_OPT_SD_WORKER
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"-Ws"'
    - item_type: preproc_def
      name: HAPROXY_OPT_MCLI
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"-S"'
    - item_type: preproc_def
      name: HAPROXY_OPT_DAEMON
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"-D"'
    - item_type: preproc_def
      name: HAPROXY_SIGNAL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: SIGINT
    - item_type: preproc_def
      name: HAPROXY_EXPECT_EXIT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: (128 + HAPROXY_SIGNAL)
    - item_type: preproc_def
      name: HAPROXY_MAGIC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '0x8a45cf75'
    - item_type: preproc_def
      name: HAPROXY_CLI_MAGIC
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '0xb09a4ed8'
    - item_type: preproc_def
      name: HAPROXY_CLI_RECV_LEN
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: (1 << 14)
    - item_type: preproc_def
      name: HAPROXY_FD_ADDR_FAM_PREFIX
      pos:
        line_end: 957
        line_start: 956
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"fd@${"'
    - item_type: preproc_def
      name: HAPROXY_FD_ADDR_FAM_PREFIX_LEN
      pos:
        line_end: 958
        line_start: 957
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: strlen(HAPROXY_FD_ADDR_FAM_PREFIX)
    - item_type: preproc_def
      name: HAPROXY_QUIC_SOCK_TYPE
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"quic"'
    - item_type: preproc_def
      name: HAPROXY_QUIC_SOCK_TYPE_PREFIX
      pos:
        line_end: 961
        line_start: 960
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: HAPROXY_QUIC_SOCK_TYPE "+"
    - item_type: preproc_def
      name: HAPROXY_QUIC_SOCK_TYPE_PREFIX_LEN
      pos:
        line_end: 962
        line_start: 961
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: strlen(HAPROXY_QUIC_SOCK_TYPE_PREFIX)
    - item_type: preproc_def
      name: HAPROXY_VTC_SOCK_TYPE_ENV_VAR
      pos:
        line_end: 964
        line_start: 963
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"VTC_SOCK_TYPE"'
    - item_type: preproc_def
      name: HAPROXY_VTC_SOCK_TYPE_PREFIX
      pos:
        line_end: 965
        line_start: 964
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: '"${" HAPROXY_VTC_SOCK_TYPE_ENV_VAR "}+"'
    - item_type: preproc_def
      name: HAPROXY_VTC_SOCK_TYPE_PREFIX_LEN
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
      type_or_value: strlen(HAPROXY_VTC_SOCK_TYPE_PREFIX)
    structs:
    - fields:
      - name: (envar)
        type: VTAILQ_ENTRY
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: envar
      pos:
        line_end: 65
        line_start: 61
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: list
        type: VTAILQ_ENTRY
      - name: '*filename'
        type: char
      - name: '*args'
        type: struct vsb
      - name: opt_worker
        type: int
      - name: opt_mcli
        type: int
      - name: opt_daemon
        type: int
      - name: opt_check_mode
        type: int
      - name: '*pid_fn'
        type: char
      - name: pid
        type: pid_t
      - name: ppid
        type: pid_t
      - name: fds[4]
        type: int
      - name: '*cfg_fn'
        type: char
      - name: '*cfg_vsb'
        type: struct vsb
      - name: tp
        type: pthread_t
      - name: expect_exit
        type: int
      - name: expect_signal
        type: int
      - name: its_dead_jim
        type: int
      - name: sd_uds
        type: struct sockaddr_un
      - name: sd_sock
        type: int
      - name: '*cli_fn'
        type: char
      - name: '*cli'
        type: struct haproxy_cli
      - name: '*mcli'
        type: struct haproxy_cli
      - name: '*workdir'
        type: char
      - name: '*msgs'
        type: struct vsb
      - name: closed_sock[256]
        type: char
      - name: (,envar)
        type: VTAILQ_HEAD
      item_type: struct
      name: haproxy
      pos:
        line_end: 108
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*vl'
        type: struct vtclog
      - name: running
        type: char
      - name: '*spec'
        type: char
      - name: sock
        type: int
      - name: connect[256]
        type: char
      - name: tp
        type: pthread_t
      - name: txbuf_sz
        type: size_t
      - name: '*txbuf'
        type: char
      - name: rxbuf_sz
        type: size_t
      - name: '*rxbuf'
        type: char
      - name: timeout
        type: vtim_dur
      item_type: struct
      name: haproxy_cli
      pos:
        line_end: 131
        line_start: 113
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_haproxy.c
    typedefs: []
    union: []
- function_names:
  - teken_subr_cons25_set_border
  - teken_subr_cons25_set_global_cursor_shape
  - teken_subr_cons25_set_local_cursor_type
  - teken_subr_cons25_set_default_background
  - teken_subr_cons25_set_default_foreground
  - teken_get_defattr_cons25
  - teken_subr_cons25_switch_virtual_terminal
  - teken_subr_cons25_set_bell_pitch_duration
  - teken_subr_cons25_set_graphic_rendition
  - teken_subr_cons25_set_terminal_mode
  - teken_subr_vt52_decid
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/teken_subr_compat.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tunnel_is_open
  - cmd_tunnel_pause
  - cmd_tunnel_send
  - cmd_tunnel_recv
  - cmd_tunnel_resume
  - tunnel_read
  - tunnel_write
  - tunnel_poll_thread
  - tunnel_accept
  - tunnel_spec_thread
  - tunnel_new
  - tunnel_delete
  - tunnel_listen
  - tunnel_start
  - tunnel_start_pause
  - tunnel_wait
  - tunnel_reset
  - cmd_tunnel
  - init_tunnel
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
  types:
    enum:
    - enumerators:
      - name: TUNNEL_ACCEPT
      - name: TUNNEL_RUNNING
      - name: TUNNEL_SPEC_DONE
      - name: TUNNEL_POLL_DONE
      - name: TUNNEL_PAUSED
      - name: TUNNEL_STOPPED
      item_type: enum
      name: tunnel_state_e
      pos:
        line_end: 110
        line_start: 103
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    preproc_defs:
    - item_type: preproc_def
      name: TUNNEL_MAGIC
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
      type_or_value: '0x7f59913d'
    structs:
    - fields:
      - name: buf[1024]
        type: char
      - name: buf_len
        type: ssize_t
      - name: wrk_len
        type: size_t
      - name: '*rfd'
        type: int
      - name: '*wfd'
        type: int
      item_type: struct
      name: tunnel_lane
      pos:
        line_end: 118
        line_start: 112
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: (tunnel)
        type: VTAILQ_ENTRY
      - name: state
        type: enum tunnel_state_e
      - name: start_paused
        type: unsigned
      - name: '*spec'
        type: char
      - name: connect[256]
        type: char
      - name: csock
        type: int
      - name: listen[256]
        type: char
      - name: lsock
        type: int
      - name: laddr[VTCP_ADDRBUFSIZE]
        type: char
      - name: lport[VTCP_PORTBUFSIZE]
        type: char
      - name: asock
        type: int
      - name: send_lane[1]
        type: struct tunnel_lane
      - name: recv_lane[1]
        type: struct tunnel_lane
      - name: mtx
        type: pthread_mutex_t
      - name: cond
        type: pthread_cond_t
      - name: tspec
        type: pthread_t
      - name: tpoll
        type: pthread_t
      item_type: struct
      name: tunnel
      pos:
        line_end: 148
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_tunnel.c
    typedefs: []
    union: []
- function_names:
  - VTC_CHECK_NAME
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMD_ARGS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
      type_or_value: char * const *av, void *priv, struct vtclog *vl
    - item_type: preproc_def
      name: CMDS_F_NONE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: CMDS_F_GLOBAL
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: CMDS_F_SHUT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: CMDS_MAGIC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
      type_or_value: '0x9ccc797d'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*cmd'
        type: cmd_f
      - name: flags
        type: unsigned
      item_type: struct
      name: cmds
      pos:
        line_end: 56
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
    typedefs:
    - item_type: typedef
      name: cmd_f(CMD_ARGS)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
      type: void
    - item_type: typedef
      name: '* macro_f(int, char *const *, const char **)'
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtest_api.h
      type: char
    union: []
- function_names:
  - STAT_HDRS
  - HPK_NewIter
  - HPK_FreeIter
  - pop_header
  - push_header
  - HPK_ResizeTbl
  - tbl_get_field
  - tbl_get_key
  - tbl_get_value
  - HPK_GetHdr
  - HPK_GetTblSize
  - HPK_GetTblMaxSize
  - HPK_GetTblLength
  - dump_dyn_tbl
  - HPK_NewCtx
  - HPK_FreeCtx
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*sttbl'
        type: struct hpk_hdr
      - name: dyntbl
        type: struct dynamic_table
      - name: maxsize
        type: uint32_t
      - name: size
        type: uint32_t
      item_type: struct
      name: hpk_ctx
      pos:
        line_end: 78
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_tbl.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_enctbl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vtc_report_gz_bits
  - APOS
  - vtc_gunzip_vsb
  - vtc_gunzip
  - vtc_gzip_chunk
  - vtc_gzip
  - vtc_gzip_cmd
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_gzip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CMD_SYSLOG
  - get_syslog_level
  - syslog_new
  - syslog_delete
  - syslog_rx
  - syslog_bind
  - cmd_syslog_expect
  - cmd_syslog_recv
  - syslog_thread
  - syslog_start
  - syslog_stop
  - syslog_wait
  - cmd_syslog
  - init_syslog
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SYSLOG_SRV_MAGIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
      type_or_value: '0xbf28a692'
    - item_type: preproc_def
      name: SYSLOGCMDS
      pos:
        line_end: 76
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
      type_or_value: "CMD_SYSLOG(expect) \\\n\tCMD_SYSLOG(recv)"
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*vl'
        type: struct vtclog
      - name: (syslog_srv)
        type: VTAILQ_ENTRY
      - name: run
        type: char
      - name: repeat
        type: int
      - name: '*spec'
        type: char
      - name: sock
        type: int
      - name: bind[256]
        type: char
      - name: lvl
        type: int
      - name: tp
        type: pthread_t
      - name: rxbuf_left
        type: ssize_t
      - name: rxbuf_sz
        type: size_t
      - name: '*rxbuf'
        type: char
      - name: timeout
        type: vtim_dur
      item_type: struct
      name: syslog_srv
      pos:
        line_end: 66
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_syslog.c
    typedefs: []
    union: []
- function_names:
  - barrier_new
  - barrier_expect
  - barrier_cond
  - barrier_sock_thread
  - barrier_sock
  - barrier_cyclic
  - barrier_cond_sync
  - barrier_sock_sync
  - barrier_sync
  - cmd_barrier
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
  types:
    enum:
    - enumerators:
      - name: BARRIER_NONE
        value: '0'
      - name: BARRIER_COND
      - name: BARRIER_SOCK
      item_type: enum
      name: barrier_e
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    preproc_defs:
    - item_type: preproc_def
      name: BARRIER_MAGIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
      type_or_value: '0x7b54c275'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: (barrier)
        type: VTAILQ_ENTRY
      - name: mtx
        type: pthread_mutex_t
      - name: cond
        type: pthread_cond_t
      - name: waiters
        type: int
      - name: expected
        type: int
      - name: cyclic
        type: int
      - name: type
        type: enum barrier_e
      item_type: struct
      name: barrier
      pos:
        line_end: 70
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_barrier.c
    typedefs: []
    union: []
- function_names:
  - TDARGS
  - TDVAR
  - get_buf
  - rel_buf
  - parse_D_opt
  - v_noreturn_::usage
  - cleaner_do
  - cleaner_setup
  - cleaner_neuter
  - cleaner_finish
  - tst_cb
  - start_test
  - top_dir
  - build_path
  - i_mode
  - ip_magic
  - macro_func_date
  - macro_func_string_repeat
  - macro_func_string
  - read_file
  - automake_test_driver_arguments
  - TDSAVE
  - usual_arguments
  - main
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUF_MAGIC
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
      type_or_value: '0x39d1258a'
    - item_type: preproc_def
      name: TST_MAGIC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
      type_or_value: '0x618d8b88'
    - item_type: preproc_def
      name: JOB_MAGIC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
      type_or_value: '0x1b5fc419'
    - item_type: preproc_def
      name: FMT
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
      type_or_value: '"    %-28s # %s\n"'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (buf)
        type: VTAILQ_ENTRY
      - name: '*buf'
        type: char
      - name: '*diag'
        type: struct vsb
      - name: bufsiz
        type: size_t
      item_type: struct
      name: buf
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - fields:
      - name: magic
        type: unsigned
      - name: list
        type: VTAILQ_ENTRY
      - name: '*filename'
        type: char
      - name: '*script'
        type: char
      - name: ntodo
        type: unsigned
      - name: nwait
        type: unsigned
      item_type: struct
      name: vtc_tst
      pos:
        line_end: 78
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*tst'
        type: struct vtc_tst
      - name: child
        type: pid_t
      - name: '*ev'
        type: struct vev
      - name: '*evt'
        type: struct vev
      - name: '*bp'
        type: struct buf
      - name: '*tmpdir'
        type: char
      - name: t0
        type: double
      - name: killed
        type: int
      item_type: struct
      name: vtc_job
      pos:
        line_end: 91
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_main.c
    typedefs: []
    union: []
- function_names:
  - MASK
  - huff_decode
  - huff_encode
  - huff_simulate
  - num_decode
  - num_encode
  - str_encode
  - str_decode
  - txtcpy
  - gethpk_iterLen
  - HPK_DecHdr
  - HPK_EncHdr
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: val
        type: uint32_t
      - name: size
        type: uint8_t
      item_type: struct
      name: symbol
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_h2_hpack.c
    typedefs: []
    union: []
- function_names:
  - ONLY_CLIENT
  - ONLY_SERVER
  - synth_body
  - http_write
  - http_find_header
  - http_count_header
  - cmd_var_resolve
  - cmd_http_expect
  - cmd_http_expect_pattern
  - http_splitheader
  - http_rxchar
  - http_rxchunk
  - http_swallow_body
  - http_rxhdr
  - cmd_http_rxresp
  - cmd_http_rxresphdrs
  - cmd_http_gunzip
  - http_tx_parse_args
  - cmd_http_txresp
  - cmd_http_upgrade
  - cmd_http_rxreq
  - cmd_http_rxreqhdrs
  - cmd_http_rxreqbody
  - cmd_http_rxrespbody
  - cmd_http_rxchunk
  - cmd_http_txreq
  - cmd_http_recv
  - cmd_http_send
  - cmd_http_send_n
  - cmd_http_send_urgent
  - cmd_http_sendhex
  - cmd_http_chunked
  - cmd_http_chunkedlen
  - cmd_http_timeout
  - cmd_http_expect_close
  - cmd_http_close
  - cmd_http_accept
  - cmd_http_shutdown
  - cmd_http_fatal
  - cmd_http_txpri
  - cmd_http_rxpri
  - cmd_http_settings
  - cmd_http_stream
  - cmd_http_write_body
  - http_process_cleanup
  - http_process
  - xxx
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: cmd_http_non_fatal
      pos:
        line_end: 1688
        line_start: 1687
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_http.c
      type_or_value: cmd_http_fatal
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VTCLOG_MAGIC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.h
      type_or_value: '0x82731202'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*id'
        type: char
      - name: '*vsb'
        type: struct vsb
      - name: mtx
        type: pthread_mutex_t
      - name: act
        type: int
      - name: '*cmds'
        type: struct cmds
      item_type: struct
      name: vtclog
      pos:
        line_end: 39
        line_start: 31
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/vtc_log.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/tbl/h2_error.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/tbl/vhp_huffman.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/tbl/h2_settings.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/tbl/vsig_list.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/tbl/h2_frames.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/src/tbl/h2_stream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VFIL_null_fd
  - vfil_readfd
  - vfil_writefd
  - vfil_openfile
  - VFIL_readfile
  - VFIL_writefile
  - VFIL_nonblocking
  - VFIL_fsinfo
  - VFIL_allocate
  - VFIL_setpath
  - vfil_path_openfile
  - VFIL_searchpath
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VFIL_DIR_MAGIC
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
      type_or_value: '0x3e214967'
    - item_type: preproc_def
      name: VFIL_PATH_MAGIC
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
      type_or_value: '0x92dbcc31'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*dir'
        type: char
      - name: (vfil_dir)
        type: VTAILQ_ENTRY
      item_type: struct
      name: vfil_dir
      pos:
        line_end: 281
        line_start: 276
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*str'
        type: char
      - name: (,vfil_dir)
        type: VTAILQ_HEAD
      item_type: struct
      name: vfil_path
      pos:
        line_end: 288
        line_start: 283
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.c
    typedefs: []
    union: []
- function_names:
  - VSLIST_HEAD_INITIALIZER
  - VSLIST_EMPTY
  - VSLIST_FIRST
  - VSLIST_FOREACH
  - VSLIST_FOREACH_FROM
  - VSLIST_FOREACH_SAFE
  - VSLIST_FOREACH_FROM_SAFE
  - VSLIST_FOREACH_PREVPTR
  - VSLIST_INIT
  - VSLIST_INSERT_AFTER
  - VSLIST_INSERT_HEAD
  - VSLIST_NEXT
  - VSLIST_REMOVE
  - VSLIST_REMOVE_AFTER
  - VSLIST_REMOVE_HEAD
  - VSLIST_SWAP
  - VSTAILQ_HEAD
  - VSTAILQ_HEAD_INITIALIZER
  - VSTAILQ_CONCAT
  - VSTAILQ_EMPTY
  - VSTAILQ_FIRST
  - VSTAILQ_FOREACH
  - VSTAILQ_FOREACH_FROM
  - VSTAILQ_FOREACH_SAFE
  - VSTAILQ_FOREACH_FROM_SAFE
  - VSTAILQ_INIT
  - VSTAILQ_INSERT_AFTER
  - VSTAILQ_INSERT_HEAD
  - VSTAILQ_INSERT_TAIL
  - VSTAILQ_LAST
  - VSTAILQ_NEXT
  - VSTAILQ_REMOVE
  - VSTAILQ_REMOVE_AFTER
  - VSTAILQ_REMOVE_HEAD
  - VSTAILQ_SWAP
  - VLIST_HEAD_INITIALIZER
  - VLIST_ENTRY
  - VLIST_EMPTY
  - VLIST_FIRST
  - VLIST_FOREACH
  - VLIST_FOREACH_FROM
  - VLIST_FOREACH_SAFE
  - VLIST_FOREACH_FROM_SAFE
  - VLIST_INIT
  - VLIST_INSERT_AFTER
  - VLIST_INSERT_BEFORE
  - VLIST_INSERT_HEAD
  - VLIST_NEXT
  - VLIST_PREV
  - VLIST_REMOVE
  - VLIST_SWAP
  - VTAILQ_HEAD
  - VTAILQ_HEAD_INITIALIZER
  - VTAILQ_ENTRY
  - VTAILQ_CONCAT
  - VTAILQ_EMPTY
  - VTAILQ_FIRST
  - VTAILQ_FOREACH
  - VTAILQ_FOREACH_FROM
  - VTAILQ_FOREACH_SAFE
  - VTAILQ_FOREACH_FROM_SAFE
  - VTAILQ_FOREACH_REVERSE
  - VTAILQ_FOREACH_REVERSE_FROM
  - VTAILQ_FOREACH_REVERSE_SAFE
  - VTAILQ_FOREACH_REVERSE_FROM_SAFE
  - VTAILQ_INIT
  - VTAILQ_INSERT_AFTER
  - VTAILQ_INSERT_BEFORE
  - VTAILQ_INSERT_HEAD
  - VTAILQ_INSERT_TAIL
  - VTAILQ_LAST
  - VTAILQ_NEXT
  - VTAILQ_PREV
  - VTAILQ_REMOVE
  - VTAILQ_SWAP
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vqueue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSA_Init
  - VSA_GetPtr
  - sua_len
  - VSA_Malloc
  - VSA_BuildFAP
  - VSA_Build
  - VSA_Get_Sockaddr
  - VSA_Get_Proto
  - VSA_Sane
  - VSA_Compare
  - VSA_Compare_IP
  - VSA_Clone
  - VSA_Port
  - VSA_getname
  - VSA_free
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUCKADDR_MAGIC
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
      type_or_value: '0x4b1e9335'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: u
        type: "union {\n\t\tstruct sockaddr\t\tsa;\n\t\tstruct sockaddr_in\tsa4;\n\t\tstruct
          sockaddr_in6\tsa6;\n\t}"
      item_type: struct
      name: suckaddr
      pos:
        line_end: 176
        line_start: 168
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.c
    typedefs: []
    union: []
- function_names:
  - assert
  - assert
  - xxxassert
  - AZ
  - AN
  - XXXAZ
  - XXXAN
  - diagnostic
  - WRONG
  - _PTOK
  - PTOK
  - INCOMPL
  - __has_extension
  - v_static_assert
  - v_static_assert
  - __v_static_assert
  - ___v_static_assert
  - pdiff
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
  types:
    enum:
    - enumerators:
      - name: VAS_WRONG
      - name: VAS_MISSING
      - name: VAS_VCL
      - name: VAS_INCOMPLETE
      - name: VAS_ASSERT
      item_type: enum
      name: vas_e
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
    preproc_defs:
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
      type_or_value: static_assert
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
      type_or_value: _Static_assert
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
      type_or_value: _Static_assert
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
      type_or_value: _Static_assert
    structs: []
    typedefs:
    - item_type: typedef
      name: vas_f(const char *, const char *, int, const char *, enum vas_e)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.h
      type: void
    union: []
- function_names:
  - bprintf
  - vbprintf
  - bstrcpy
  - closefd
  - __has_feature
  - __GNUC_PREREQ__
  - __GNUC_PREREQ__
  - v_printflike_
  - v_gcov_flush
  - v_gcov_flush
  - v_gcov_flush
  - v_gcov_flush
  - PAOK
  - PRNDDN
  - PRNDUP
  - TRUST_ME
  - PWR2
  - RDN2
  - RUP2
  - VINDIRECT
  - VCOMBINE
  - VUNIQ_NAME
  - VUNIQ_NAME
  - typeof
  - _vtake
  - vtake
  - vmin
  - vmax
  - vmin_t
  - vmax_t
  - vlimit
  - vlimit_t
  - vcountof
  - v_statevariable_
  - NEEDLESS
  - NEEDLESS
  - v_used_
  - v_counted_by_
  - Tcheck
  - Tlen
  - Tstrcmp
  - Tforeach
  - LIKELY
  - UNLIKELY
  - __DEQUALIFY
  - __containerof
  - __containerof
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: v_noreturn_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: v_deprecated_
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: __attribute__((deprecated))
    - item_type: preproc_def
      name: v_dont_optimize
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: __attribute__((optimize("O")))
    - item_type: preproc_def
      name: VRT_INTEGER_MAX
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: '999999999999999'
    - item_type: preproc_def
      name: VRT_INTEGER_MIN
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: '-999999999999999'
    - item_type: preproc_def
      name: VRT_DECIMAL_MAX
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: 0x1.d1a94a1fffff8p+39
    - item_type: preproc_def
      name: VRT_DECIMAL_MIN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: -0x1.d1a94a1fffff8p+39
    - item_type: preproc_def
      name: PALGN
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: "(sizeof(double) - 1)\t"
    - item_type: preproc_def
      name: PALGN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: "(sizeof(void *) - 1)\t"
    - item_type: preproc_def
      name: opmin
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: <
    - item_type: preproc_def
      name: opmax
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: '>'
    - item_type: preproc_def
      name: v_unused_
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: __attribute__((__unused__))
    - item_type: preproc_def
      name: v_cold_
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: __attribute__((cold))
    - item_type: preproc_def
      name: txt
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type_or_value: ){(s), (s) + strlen(s)})
    structs:
    - fields:
      - name: '*b'
        type: char
      - name: '*e'
        type: char
      item_type: struct
      name: txt
      pos:
        line_end: 282
        line_start: 279
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
    typedefs:
    - item_type: typedef
      name: vtim_mono
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type: double
    - item_type: typedef
      name: vtim_real
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type: double
    - item_type: typedef
      name: vtim_dur
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vdef.h
      type: double
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARGV_COMMENT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: ARGV_COMMA
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: ARGV_NOESC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.h
      type_or_value: (1 << 2)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DBG
  - vev_bh_update
  - vev_bh_cmp
  - vev_get_pfd
  - vev_get_sig
  - vev_sigaction
  - VEV_New
  - VEV_Destroy
  - VEV_Alloc
  - VEV_Start
  - VEV_Stop
  - VEV_Loop
  - vev_sched_timeout
  - vev_sched_signal
  - VEV_Once
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INFTIM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: VEV_BASE_MAGIC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
      type_or_value: '0x477bcf3d'
    structs:
    - fields:
      - name: '*vevb'
        type: struct vev_root
      - name: '*vev'
        type: struct vev
      - name: sigact
        type: struct sigaction
      - name: happened
        type: unsigned char
      - name: siginfo[1]
        type: siginfo_t
      item_type: struct
      name: vevsig
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    - fields:
      - name: magic
        type: unsigned
      - name: n_fd_events
        type: unsigned
      - name: '*pfd'
        type: struct pollfd
      - name: '**pev'
        type: struct vev
      - name: npfd
        type: unsigned
      - name: lpfd
        type: unsigned
      - name: '*binheap'
        type: struct vbh
      - name: psig
        type: unsigned
      - name: thread
        type: pthread_t
      item_type: struct
      name: vev_root
      pos:
        line_end: 81
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.c
    typedefs: []
    union: []
- function_names:
  - VUDP_Check
  - VUDP_close
  - VUDP_bind
  - vudp_lo_cb
  - VUDP_bind_on
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VUS_is
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vus_resolved_f(void *priv, const struct sockaddr_un *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.h
      type: int
    union: []
- function_names:
  - mach_time_init
  - init
  - VTIM_mono
  - VTIM_real
  - VTIM_format
  - FAIL
  - FAIL
  - DIGIT
  - MUSTBE
  - WEEKDAY
  - MONTH
  - TIMESTAMP
  - VTIM_parse
  - VTIM_sleep
  - VTIM_timeval
  - VTIM_timespec
  - VTIM_timeval_sock
  - VTIM_poll_tmo
  - tst
  - tst_delta_check
  - tst_delta
  - bench
  - parse_check
  - main
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TTEST_MIN
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
      type_or_value: '(sizeof(time_t) >= 8 ? -2209852800LL : INT32_MIN)'
    - item_type: preproc_def
      name: TTEST_MAX
      pos:
        line_end: 589
        line_start: 588
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.c
      type_or_value: '(sizeof(time_t) >= 8 ? 20000000000LL : INT32_MAX)'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VAS_errtxt
  - vas_default
  - v_noreturn_::VAS_Fail
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vas.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vfil_path_func_f(void *priv, const char *fn)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfil.h
      type: int
    union: []
- function_names:
  - VSUB_closefrom
  - vsub_vlu
  - VSUB_run
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*sb'
        type: struct vsb
      - name: lines
        type: int
      - name: maxlines
        type: int
      item_type: struct
      name: vsub_priv
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.c
    typedefs: []
    union: []
- function_names:
  - vss_parse
  - vss_parse_range
  - vss_resolve
  - vss_alloc_suckaddr
  - VSS_resolver_socktype
  - VSS_resolver
  - VSS_resolver_range
  - VSS_ResolveOne
  - VSS_ResolveFirst
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vrnd_lock_f(void)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSB_MAGIC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '0x4a82dd8a'
    - item_type: preproc_def
      name: VSB_FIXEDLEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: "0x00000000\t"
    - item_type: preproc_def
      name: VSB_AUTOEXTEND
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: VSB_USRFLAGMSK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: "0x0000ffff\t"
    - item_type: preproc_def
      name: VSB_DYNAMIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: "0x00010000\t"
    - item_type: preproc_def
      name: VSB_FINISHED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: "0x00020000\t"
    - item_type: preproc_def
      name: VSB_DYNSTRUCT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: "0x00080000\t"
    - item_type: preproc_def
      name: VSB_QUOTE_PLAIN
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VSB_QUOTE_JSON
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VSB_QUOTE_HEX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: VSB_QUOTE_CSTR
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '8'
    - item_type: preproc_def
      name: VSB_QUOTE_UNSAFE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '16'
    - item_type: preproc_def
      name: VSB_QUOTE_NONL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VSB_QUOTE_ESCHEX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
      type_or_value: '32'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: s_error
        type: int
      - name: '*s_buf'
        type: char
      - name: s_size
        type: ssize_t
      - name: s_len
        type: ssize_t
      - name: s_flags
        type: int
      - name: s_indent
        type: int
      item_type: struct
      name: vsb
      pos:
        line_end: 53
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.h
    typedefs: []
    union: []
- function_names:
  - vpf_verify
  - VPF_Read
  - VPF_Open
  - VPF_Write
  - VPF_Remove
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pf_fd
        type: int
      - name: '*pf_path'
        type: char
      - name: pf_dev
        type: dev_t
      - name: pf_ino
        type: ino_t
      item_type: struct
      name: vpf_fh
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vpf.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vcli.h
  types:
    enum:
    - enumerators:
      - name: CLIS_SYNTAX
        value: '100'
      - name: CLIS_TOOFEW
        value: '104'
      - name: CLIS_UNKNOWN
        value: '101'
      - name: CLIS_UNIMPL
        value: '102'
      - name: CLIS_TOOMANY
        value: '105'
      - name: CLIS_PARAM
        value: '106'
      - name: CLIS_AUTH
        value: '107'
      - name: CLIS_OK
        value: '200'
      - name: CLIS_TRUNCATED
        value: '201'
      - name: CLIS_CANT
        value: '300'
      - name: CLIS_COMMS
        value: '400'
      - name: CLIS_CLOSE
        value: '500'
      item_type: enum
      name: VCLI_status_e
      pos:
        line_end: 56
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vcli.h
    preproc_defs:
    - item_type: preproc_def
      name: CLI_LINE0_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vcli.h
      type_or_value: '13'
    - item_type: preproc_def
      name: CLI_AUTH_RESPONSE_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vcli.h
      type_or_value: "64\t"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '**errp'
        type: char
      item_type: struct
      name: udp_helper
      pos:
        line_end: 32
        line_start: 30
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vudp.h
    typedefs: []
    union: []
- function_names:
  - good_rand
  - vrnd_RandomTestable
  - VRND_SeedTestable
  - VRND_RandomTestable
  - VRND_RandomTestableDouble
  - VRND_RandomCrypto
  - VRND_SeedAll
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TYPE_3
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: DEG_3
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
      type_or_value: '31'
    - item_type: preproc_def
      name: SEP_3
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vrnd.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vflopenat
  - VFL_Open
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vfl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VNUM_EPSILON
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.h
      type_or_value: (1e-9)
    - item_type: preproc_def
      name: VNUM_LEGAL_DURATION
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.h
      type_or_value: '"Legal duration units are ''ms'', ''s'', ''m'', ''h'', ''d'',
        ''w'' and ''y''"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sun_init
  - VUS_resolver
  - VUS_bind
  - VUS_connect
  - VUS_socklen
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vus.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vss_resolved_f(void *priv, const struct suckaddr *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vss.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsa.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pcre2_set_depth_limit
  - VRE_compile
  - VRE_error
  - VRE_unpack
  - vre_limit
  - VRE_export
  - vre_capture
  - VRE_match
  - VRE_capture
  - VRE_sub
  - VRE_free
  - VRE_quote
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRE_PACKED_RE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
      type_or_value: (pcre2_code *)(-1)
    - item_type: preproc_def
      name: VRE_MAGIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
      type_or_value: '0xe83097dc'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*re'
        type: pcre2_code
      - name: '*re_ctx'
        type: pcre2_match_context
      item_type: struct
      name: vre
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.c
    typedefs: []
    union: []
- function_names:
  - z_deflateInit
  - z_inflateInit
  - z_deflateInit2
  - z_inflateInit2
  - z_inflateBackInit
  - deflateInit
  - inflateInit
  - deflateInit2
  - inflateInit2
  - inflateBackInit
  - z_gzgetc
  - gzgetc
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZLIB_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '"1.3.1.1-motley"'
    - item_type: preproc_def
      name: ZLIB_VERNUM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '0x1311'
    - item_type: preproc_def
      name: ZLIB_VER_MAJOR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ZLIB_VER_MINOR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ZLIB_VER_REVISION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ZLIB_VER_SUBREVISION
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VGZ_EXTENSIONS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_NO_FLUSH
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_PARTIAL_FLUSH
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_SYNC_FLUSH
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_FULL_FLUSH
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '3'
    - item_type: preproc_def
      name: Z_FINISH
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '4'
    - item_type: preproc_def
      name: Z_BLOCK
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '5'
    - item_type: preproc_def
      name: Z_TREES
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '6'
    - item_type: preproc_def
      name: Z_OK
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_STREAM_END
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_NEED_DICT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_ERRNO
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: Z_STREAM_ERROR
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: Z_DATA_ERROR
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: Z_MEM_ERROR
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: Z_BUF_ERROR
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: Z_VERSION_ERROR
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: (-6)
    - item_type: preproc_def
      name: Z_NO_COMPRESSION
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_BEST_SPEED
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_BEST_COMPRESSION
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '9'
    - item_type: preproc_def
      name: Z_DEFAULT_COMPRESSION
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: Z_FILTERED
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_HUFFMAN_ONLY
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_RLE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '3'
    - item_type: preproc_def
      name: Z_FIXED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '4'
    - item_type: preproc_def
      name: Z_DEFAULT_STRATEGY
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_BINARY
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_TEXT
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_ASCII
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: 'Z_TEXT   '
    - item_type: preproc_def
      name: Z_UNKNOWN
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_DEFLATED
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '8'
    - item_type: preproc_def
      name: Z_NULL
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: zlib_version
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: zlibVersion()
    - item_type: preproc_def
      name: z_gzopen
      pos:
        line_end: 1890
        line_start: 1889
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: z_gzopen64
    - item_type: preproc_def
      name: z_gzseek
      pos:
        line_end: 1891
        line_start: 1890
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: z_gzseek64
    - item_type: preproc_def
      name: z_gztell
      pos:
        line_end: 1892
        line_start: 1891
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: z_gztell64
    - item_type: preproc_def
      name: z_gzoffset
      pos:
        line_end: 1893
        line_start: 1892
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: z_gzoffset64
    - item_type: preproc_def
      name: z_adler32_combine
      pos:
        line_end: 1894
        line_start: 1893
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: z_adler32_combine64
    - item_type: preproc_def
      name: z_crc32_combine
      pos:
        line_end: 1895
        line_start: 1894
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: z_crc32_combine64
    - item_type: preproc_def
      name: z_crc32_combine_gen
      pos:
        line_end: 1896
        line_start: 1895
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: z_crc32_combine_gen64
    - item_type: preproc_def
      name: gzopen
      pos:
        line_end: 1898
        line_start: 1897
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: gzopen64
    - item_type: preproc_def
      name: gzseek
      pos:
        line_end: 1899
        line_start: 1898
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: gzseek64
    - item_type: preproc_def
      name: gztell
      pos:
        line_end: 1900
        line_start: 1899
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: gztell64
    - item_type: preproc_def
      name: gzoffset
      pos:
        line_end: 1901
        line_start: 1900
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: gzoffset64
    - item_type: preproc_def
      name: adler32_combine
      pos:
        line_end: 1902
        line_start: 1901
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: adler32_combine64
    - item_type: preproc_def
      name: crc32_combine
      pos:
        line_end: 1903
        line_start: 1902
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: crc32_combine64
    - item_type: preproc_def
      name: crc32_combine_gen
      pos:
        line_end: 1904
        line_start: 1903
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type_or_value: crc32_combine_gen64
    structs:
    - fields:
      - name: '*next_in'
        type: z_const
      - name: avail_in
        type: uInt
      - name: total_in
        type: uLong
      - name: '*next_out'
        type: Bytef
      - name: avail_out
        type: uInt
      - name: total_out
        type: uLong
      - name: '*msg'
        type: z_const
      - name: '*state'
        type: struct internal_state
      - name: zalloc
        type: alloc_func
      - name: zfree
        type: free_func
      - name: opaque
        type: voidpf
      - name: data_type
        type: int
      - name: adler
        type: uLong
      - name: reserved
        type: uLong
      - name: start_bit
        type: uLong
      - name: stop_bit
        type: uLong
      - name: last_bit
        type: uLong
      item_type: struct
      name: z_stream_s
      pos:
        line_end: 110
        line_start: 85
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    - fields:
      - name: text
        type: int
      - name: time
        type: uLong
      - name: xflags
        type: int
      - name: os
        type: int
      - name: '*extra'
        type: Bytef
      - name: extra_len
        type: uInt
      - name: extra_max
        type: uInt
      - name: '*name'
        type: Bytef
      - name: name_max
        type: uInt
      - name: '*comment'
        type: Bytef
      - name: comm_max
        type: uInt
      - name: hcrc
        type: int
      - name: done
        type: int
      item_type: struct
      name: gz_header_s
      pos:
        line_end: 133
        line_start: 118
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    - fields:
      - name: have
        type: unsigned
      - name: '*next'
        type: unsigned char
      - name: pos
        type: z_off64_t
      item_type: struct
      name: gzFile_s
      pos:
        line_end: 1860
        line_start: 1856
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
    typedefs:
    - item_type: typedef
      name: (*alloc_func) (voidpf opaque, uInt items, uInt size)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type: voidpf
    - item_type: typedef
      name: (*free_func)  (voidpf opaque, voidpf address)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type: void
    - item_type: typedef
      name: '*z_streamp'
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type: z_stream
    - item_type: typedef
      name: '*gz_headerp'
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type: gz_header
    - item_type: typedef
      name: "(*in_func) (void FAR *,\n                                z_const unsigned
        char FAR * FAR *)"
      pos:
        line_end: 1117
        line_start: 1116
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type: unsigned
    - item_type: typedef
      name: (*out_func) (void FAR *, unsigned char FAR *, unsigned)
      pos:
        line_end: 1118
        line_start: 1118
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type: int
    - item_type: typedef
      name: '*gzFile'
      pos:
        line_end: 1324
        line_start: 1324
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vgz.h
      type: gzFile_s
    union: []
- function_names:
  - KASSERT
  - SBMALLOC
  - SBFREE
  - rndup2
  - VSB_ISDYNAMIC
  - VSB_ISDYNSTRUCT
  - VSB_HASROOM
  - VSB_FREESPACE
  - VSB_CANEXTEND
  - VSB_SETFLAG
  - VSB_CLEARFLAG
  - _assert_VSB_integrity
  - _assert_VSB_state
  - assert_VSB_integrity
  - assert_VSB_state
  - assert_VSB_integrity
  - assert_VSB_state
  - VSB_extendsize
  - VSB_extend
  - _vsb_indent
  - VSB_newbuf
  - VSB_init
  - VSB_new_auto
  - VSB_clear
  - VSB_put_byte
  - VSB_bcat
  - VSB_cat
  - VSB_vprintf
  - VSB_printf
  - VSB_putc
  - VSB_error
  - VSB_finish
  - VSB_data
  - VSB_len
  - VSB_fini
  - VSB_destroy
  - vsb_quote_hex
  - VSB_quote_pfx
  - VSB_quote
  - VSB_indent
  - VSB_tofile
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSB_MINEXTENDSIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: VSB_MAXEXTENDSIZE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
      type_or_value: PAGE_SIZE
    - item_type: preproc_def
      name: VSB_MAXEXTENDINCR
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
      type_or_value: PAGE_SIZE
    - item_type: preproc_def
      name: VSB_MAXEXTENDSIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: VSB_MAXEXTENDINCR
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsb.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VJSN_TYPE_MACRO
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VJSN_TYPES
      pos:
        line_end: 38
        line_start: 30
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.h
      type_or_value: "VJSN_TYPE_MACRO(OBJECT, object) \\\n\tVJSN_TYPE_MACRO(ARRAY,
        array) \\\n\tVJSN_TYPE_MACRO(NUMBER, number) \\\n\tVJSN_TYPE_MACRO(STRING,
        string) \\\n\tVJSN_TYPE_MACRO(TRUE, true) \\\n\tVJSN_TYPE_MACRO(FALSE, false)
        \\\n\tVJSN_TYPE_MACRO(NULL, null)"
    - item_type: preproc_def
      name: VJSN_VAL_MAGIC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.h
      type_or_value: '0x08a06b80'
    - item_type: preproc_def
      name: VJSN_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.h
      type_or_value: '0x86a7f02b'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*type'
        type: char
      - name: '*name'
        type: char
      - name: '*name_e'
        type: char
      - name: (vjsn_val)
        type: VTAILQ_ENTRY
      - name: (,vjsn_val)
        type: VTAILQ_HEAD
      - name: '*value'
        type: char
      - name: '*value_e'
        type: char
      item_type: struct
      name: vjsn_val
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*raw'
        type: char
      - name: '*ptr'
        type: char
      - name: '*value'
        type: struct vjsn_val
      - name: '*err'
        type: char
      item_type: struct
      name: vjsn
      pos:
        line_end: 59
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.h
    typedefs: []
    union: []
- function_names:
  - VCT_invalid_name
  - main
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCT_UPALPHA
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
      type_or_value: (VCT_ALPHA | VCT_UPPER | VCT_BASE64)
    - item_type: preproc_def
      name: VCT_LOALPHA
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.c
      type_or_value: (VCT_ALPHA | VCT_LOWER | VCT_BASE64)
    structs: []
    typedefs: []
    union: []
- function_names:
  - BAIL
  - sf_parse_int
  - SF_Parse_Integer
  - SF_Parse_Number
  - SF_Parse_Decimal
  - VNUM
  - VNUM_duration_unit
  - VNUM_duration
  - VNUM_bytes_unit
  - VNUM_2bytes
  - vnum_uint
  - VNUM_uint
  - VNUM_hex
  - main
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: maxdig
        type: int
      - name: retval
        type: int64_t
      - name: consumed
        type: int
      - name: sign
        type: int
      - name: '*errtxt'
        type: char
      item_type: struct
      name: test_sf_parse_int
      pos:
        line_end: 432
        line_start: 425
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    - fields:
      - name: '*input'
        type: char
      - name: strict
        type: int
      - name: retval
        type: double
      - name: consumed
        type: int
      - name: '*errtxt'
        type: char
      item_type: struct
      name: test_sf_parse_number
      pos:
        line_end: 454
        line_start: 448
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    - fields:
      - name: '*str'
        type: char
      - name: rel
        type: uintmax_t
      - name: val
        type: uintmax_t
      - name: '*err'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 488
        line_start: 483
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vnum.c
    typedefs: []
    union: []
- function_names:
  - VJSN_TYPE_MACRO
  - VJSN_EXPECT
  - vjsn_val_new
  - vjsn_val_delete
  - vjsn_delete
  - vjsn_skip_ws
  - vjsn_unumber
  - vjsn_unicode
  - vjsn_string
  - vjsn_object
  - vjsn_array
  - vjsn_number
  - vjsn_value
  - vjsn_parse_end
  - vjsn_parse
  - vjsn_child
  - vjsn_dump_i
  - vjsn_dump_val
  - vjsn_dump
  - VJSN_TYPE_MACRO
  - test_good
  - test_bad
  - main
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vjsn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRE_ERROR_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.h
      type_or_value: '128'
    structs:
    - fields:
      - name: match
        type: unsigned
      - name: depth
        type: unsigned
      item_type: struct
      name: vre_limits
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.h
    typedefs:
    - item_type: typedef
      name: vre_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre.h
      type: vre
    union: []
- function_names:
  - vav_backslash_txt
  - VAV_BackSlash
  - VAV_BackSlashDecode
  - VAV_ParseTxt
  - VAV_Parse
  - VAV_Free
  - VAV_Print
  - Test
  - printf_v
  - printf_v_info
  - main
  - test_run
  - main
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flag
        type: int
      - name: '*str'
        type: char
      - name: '**argv'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 376
        line_start: 372
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vav.c
    typedefs: []
    union: []
- function_names:
  - ZERO_OBJ
  - INIT_OBJ
  - FINI_OBJ
  - ALLOC_OBJ
  - ALLOC_OBJ_EXTRA
  - SIZEOF_FLEX_OBJ
  - ALLOC_FLEX_OBJ
  - FREE_OBJ
  - VALID_OBJ
  - CHECK_OBJ
  - CHECK_OBJ_NOTNULL
  - CHECK_OBJ_ORNULL
  - CAST_OBJ
  - CAST_OBJ_NOTNULL
  - TAKE_OBJ_NOTNULL
  - REPLACE
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/miniobj.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vbt_unwind
  - vbt_execinfo
  - VBT_format
  - VBT_dump
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BACKTRACE_LEVELS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vtcp_sa_to_ascii
  - VTCP_name
  - VTCP_my_suckaddr
  - VTCP_myname
  - VTCP_hisname
  - VTCP_filter_http
  - VTCP_filter_http
  - VTCP_filter_http
  - VTCP_fastopen
  - VTCP_blocking
  - VTCP_nonblocking
  - VTCP_connected
  - VTCP_connect
  - VTCP_close
  - VTCP_set_read_timeout
  - vtcp_open_callback
  - VTCP_open
  - VTCP_bind
  - VTCP_listen
  - vtcp_lo_cb
  - VTCP_listen_on
  - VTCP_linger
  - VTCP_check_hup
  - VTCP_Check
  - VTCP_read
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOL_TCP
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
      type_or_value: IPPROTO_TCP
    - item_type: preproc_def
      name: VTO_PRIV_MAGIC
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
      type_or_value: '0xca70b0e7'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: latest_errno
        type: int
      - name: fd
        type: int
      - name: timeout
        type: double
      item_type: struct
      name: vto_priv
      pos:
        line_end: 374
        line_start: 368
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    - fields:
      - name: depth
        type: int
      - name: '**errp'
        type: char
      item_type: struct
      name: helper
      pos:
        line_end: 506
        line_start: 503
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre_pcre2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vre_pcre2.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (vlu_f)(void *, const char *)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VEV_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
      type_or_value: '0x46bbd419'
    - item_type: preproc_def
      name: VEV__RD
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
      type_or_value: POLLIN
    - item_type: preproc_def
      name: VEV__WR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
      type_or_value: POLLOUT
    - item_type: preproc_def
      name: VEV__ERR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
      type_or_value: POLLERR
    - item_type: preproc_def
      name: VEV__HUP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
      type_or_value: POLLHUP
    - item_type: preproc_def
      name: VEV__SIG
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
      type_or_value: '-1'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: fd
        type: int
      - name: fd_flags
        type: unsigned
      - name: fd_events
        type: unsigned
      - name: sig
        type: int
      - name: sig_flags
        type: unsigned
      - name: timeout
        type: double
      - name: '*callback'
        type: vev_cb_f
      - name: '*siginfo'
        type: siginfo_t
      - name: '*priv'
        type: void
      - name: __when
        type: double
      - name: __binheap_idx
        type: unsigned
      - name: __privflags
        type: unsigned
      - name: '*__vevb'
        type: struct vev_root
      item_type: struct
      name: vev
      pos:
        line_end: 63
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
    typedefs:
    - item_type: typedef
      name: vev_cb_f(const struct vev *, int what)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vev.h
      type: int
    union: []
- function_names:
  - ROW
  - A
  - parent
  - child
  - parent
  - child
  - vbh_addrow
  - VBH_new
  - VBH_destroy
  - vbh_update
  - binhead_swap
  - vbh_trickleup
  - vbh_trickledown
  - VBH_insert
  - chk
  - VBH_root
  - VBH_delete
  - VBH_reorder
  - cmp
  - update
  - chk2
  - vrnd_lock
  - main
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ROW_SHIFT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ROOT_IDX
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ROW_WIDTH
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: (1 << ROW_SHIFT)
    - item_type: preproc_def
      name: VBH_MAGIC
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: "0xf581581a\t"
    - item_type: preproc_def
      name: FOO_MAGIC
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: '0x23239823'
    - item_type: preproc_def
      name: M
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: "500083\t"
    - item_type: preproc_def
      name: N
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: "131101\t"
    - item_type: preproc_def
      name: R
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
      type_or_value: "-1\t\t"
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*priv'
        type: void
      - name: '*cmp'
        type: vbh_cmp_t
      - name: '*update'
        type: vbh_update_t
      - name: '***array'
        type: void
      - name: rows
        type: unsigned
      - name: length
        type: unsigned
      - name: next
        type: unsigned
      - name: page_size
        type: unsigned
      - name: page_mask
        type: unsigned
      - name: page_shift
        type: unsigned
      item_type: struct
      name: vbh
      pos:
        line_end: 94
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    - fields:
      - name: magic
        type: unsigned
      - name: idx
        type: unsigned
      - name: key
        type: unsigned
      - name: n
        type: unsigned
      item_type: struct
      name: foo
      pos:
        line_end: 487
        line_start: 481
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.c
    typedefs: []
    union: []
- function_names:
  - vbe16dec
  - vbe32dec
  - vbe64dec
  - vle16dec
  - vle32dec
  - vle64dec
  - vbe16enc
  - vbe32enc
  - vbe64enc
  - vle16enc
  - vle32enc
  - vle64enc
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vend.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vsub_func_f(void*)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vsub.h
      type: void
    union: []
- function_names:
  - vct_is
  - vct_isows
  - vct_issp
  - vct_ishex
  - vct_islws
  - vct_isctl
  - vct_isspace
  - vct_isdigit
  - vct_isalpha
  - vct_islower
  - vct_isupper
  - vct_isalnum
  - vct_isbase64
  - vct_issep
  - vct_issepctl
  - vct_isident1
  - vct_isident
  - vct_isxmlnamestart
  - vct_isxmlname
  - vct_istchar
  - vct_ishdrval
  - vct_iscrlf
  - vct_skipcrlf
  - vct_casecmp
  - vct_caselencmp
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCT_OWS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: VCT_CRLF
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: VCT_LWS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (VCT_CRLF | VCT_OWS)
    - item_type: preproc_def
      name: VCT_CTL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: VCT_ALPHA
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: VCT_SEPARATOR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: VCT_DIGIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: VCT_HEX
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: VCT_XMLNAMESTART
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: VCT_XMLNAME
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: VCT_TCHAR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: VCT_ID
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: VCT_IDENT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (VCT_ALPHA | VCT_DIGIT | VCT_ID)
    - item_type: preproc_def
      name: VCT_BASE64
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: VCT_VT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: VCT_SPACE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (VCT_LWS | VCT_VT)
    - item_type: preproc_def
      name: VCT_UPPER
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: VCT_LOWER
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vct.h
      type_or_value: (1<<14)
    structs: []
    typedefs: []
    union: []
- function_names:
  - VLU_New
  - VLU_Reset
  - VLU_Destroy
  - LineUpProcess
  - VLU_Fd
  - VLU_File
  - VLU_Feed
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINEUP_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
      type_or_value: '0x08286661'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*buf'
        type: char
      - name: bufl
        type: unsigned
      - name: bufp
        type: unsigned
      - name: '*priv'
        type: void
      - name: '*func'
        type: vlu_f
      item_type: struct
      name: vlu
      pos:
        line_end: 53
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vlu.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VTIM_FORMAT_SIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtim.h
      type_or_value: '30'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VBH_NOIDX
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.h
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: vbh_cmp_t(void *priv, const void *a, const void *b)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.h
      type: int
    - item_type: typedef
      name: vbh_update_t(void *priv, void *a, unsigned newidx)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vbh.h
      type: void
    union: []
- function_names:
  - VTCP_Assert
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VTCP_ADDRBUFSIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.h
      type_or_value: '64'
    - item_type: preproc_def
      name: VTCP_PORTBUFSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vtcp.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSIG_SIGNAL
  - WCOREDUMP
  - WCOREDUMP
  source_file: /src/vinyl-cache/bin/vinyltest/vtest2/lib/vapi/vsig.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyllog/vinyllog_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_NOTICE_w
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog_options.h
      type_or_value: '" This option has no effect without the -w option."'
    - item_type: preproc_def
      name: LOG_OPT_a
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog_options.h
      type_or_value: "VOPT(\"a\", \"[-a]\", \"Append to file\",\t\t\t\t\\\n\t    \"When
        writing output to a file with the -w option, append\"\t\\\n\t    \" to it
        rather than overwrite it.\" LOG_NOTICE_w\t\t\\\n\t)"
    - item_type: preproc_def
      name: LOG_OPT_A
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog_options.h
      type_or_value: "VOPT(\"A\", \"[-A]\", \"Text output\",\t\t\t\t\\\n\t    \"When
        writing output to a file with the -w option, output\"\t\\\n\t    \" data in
        ascii format.\" LOG_NOTICE_w\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: LOG_OPT_u
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog_options.h
      type_or_value: "VOPT(\"u\", \"[-u]\", \"Unbuffered output\",\t\t\t\t\\\n\t    \"When
        writing output to a file with the -w option, output\"\t\\\n\t    \" data is
        not buffered.\" LOG_NOTICE_w\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: LOG_OPT_w
      pos:
        line_end: 66
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog_options.h
      type_or_value: "VOPT(\"w:\", \"[-w <filename>]\", \"Output filename\",\t\t\\\n\t
        \   \"Redirect output to file. The file will be overwritten\"\t\\\n\t    \"
        unless the -a option was specified. If the application\"\t\\\n\t    \" receives
        a SIGHUP in daemon mode the file will be \"\t\\\n\t    \" reopened allowing
        the old one to be rotated away. The\"\t\\\n\t    \" file can then be read
        by vinyllog and other tools with\"\t\\\n\t    \" the -r option, unless the
        -A option was specified. This\"\t\\\n\t    \" option is required when running
        in daemon mode. If the\"\t\\\n\t    \" filename is -, vinyllog writes to the
        standard output\"\t\\\n\t    \" and cannot work as a daemon.\"\t\t\t\t\\\n\t)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - openout
  - rotateout
  - flushout
  - main
  source_file: /src/vinyl-cache/bin/vinyllog/vinyllog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VOPT_INC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog.c
      type_or_value: '"vinyllog_options.h"'
    structs:
    - fields:
      - name: a_opt
        type: int
      - name: A_opt
        type: int
      - name: u_opt
        type: int
      - name: '*w_arg'
        type: char
      - name: '*fo'
        type: FILE
      item_type: struct
      name: log
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyllog/vinyllog.c
    typedefs: []
    union: []
- function_names:
  - RL_EXIT
  - cli_write
  - cli_sock
  - pass_answer
  - v_noreturn_::do_args
  - send_line
  - command_generator
  - vinyladm_completion
  - v_noreturn_::interactive
  - v_noreturn_::pass
  - v_noreturn_::usage
  - n_arg_sock
  - t_arg_timeout
  - main
  source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
  types:
    enum:
    - enumerators:
      - name: pass_script
      - name: pass_interactive
      item_type: enum
      name: pass_mode_e
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
    preproc_defs:
    - item_type: preproc_def
      name: OPTARG
      pos:
        line_end: 458
        line_start: 457
        source_file: /src/vinyl-cache/bin/vinyladm/vinyladm.c
      type_or_value: '"hn:pS:T:t:x:"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mgt_SHM_static_alloc
  - mgt_shm_atexit
  - mgt_SHM_Init
  - mgt_SHM_ChildNew
  - mgt_SHM_ChildDestroy
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_shmem.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vju_getuid
  - vju_getwrkuid
  - vju_getccgid
  - JERR
  - vju_init
  - vju_master
  - vju_subproc
  - vju_make_subdir
  - vju_make_workdir
  - vju_fixfd
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VINYL_USER
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
      type_or_value: '"vinyl"'
    - item_type: preproc_def
      name: VCACHE_USER
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
      type_or_value: '"vcache"'
    - item_type: preproc_def
      name: NGID
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_unix.c
      type_or_value: '2000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mgt_HostName
  - mgt_ProcTitle
  - mgt_sltm
  - mgt_DumpRstVsl
  - SLTM
  - mgt_BuildVident
  - MGT_ComplainVSB
  - MGT_Complain
  - MGT_Pick
  - MGT_NamedArg
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOG_AUTHPRIV
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_util.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMODDEP_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
      type_or_value: '0xc1490542'
    - item_type: preproc_def
      name: VCLDEP_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
      type_or_value: '0xa9a17dc2'
    - item_type: preproc_def
      name: VCLPROG_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
      type_or_value: '0x9ac09fea'
    - item_type: preproc_def
      name: VMODFILE_MAGIC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
      type_or_value: '0xffa1a0d5'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (vmoddep)
        type: VTAILQ_ENTRY
      - name: '*to'
        type: struct vmodfile
      - name: lto
        type: VTAILQ_ENTRY
      item_type: struct
      name: vmoddep
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*from'
        type: struct vclprog
      - name: (vcldep)
        type: VTAILQ_ENTRY
      - name: '*to'
        type: struct vclprog
      - name: lto
        type: VTAILQ_ENTRY
      - name: '*vj'
        type: struct vjsn_val
      item_type: struct
      name: vcldep
      pos:
        line_end: 53
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*fname'
        type: char
      - name: (vmodfile)
        type: VTAILQ_ENTRY
      - name: (, vmoddep)
        type: VTAILQ_HEAD
      item_type: struct
      name: vmodfile
      pos:
        line_end: 80
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.h
    typedefs: []
    union: []
- function_names:
  - mcf_findpar
  - mcf_addpar
  - mcf_alias
  - mcf_wrap_line
  - mcf_wrap
  - mcf_param_show
  - mcf_json_key_valstr
  - mcf_param_show_json
  - flag_out
  - MCF_ParamProtect
  - MCF_ParamSet
  - mcf_param_set
  - mcf_param_set_json
  - mcf_param_reset
  - mcf_init_params
  - mcf_dyn_vsb
  - mcf_wash_param
  - MCF_InitParams
  - MCF_ParamConf
  - MCF_DumpRstParam
  - MCF_DYN_REASON
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLIST_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
      type_or_value: '0xbfc3ea16'
    - item_type: preproc_def
      name: MAX_THREAD_POOLS
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
      type_or_value: '32'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (plist)
        type: VTAILQ_ENTRY
      - name: '*spec'
        type: struct parspec
      item_type: struct
      name: plist
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.c
    typedefs: []
    union: []
- function_names:
  - mgt_DumpBuiltin
  - vcc_vext_iter_func
  - run_vcc
  - VCC_FEATURE_BIT
  - cc_expand
  - run_cc
  - run_dlopen
  - mgt_vcc_touchfile
  - mgt_vcc_compile
  - mgt_vcc_init_vp
  - mgt_vcc_fini_vp
  - mgt_VccCompile
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
  types:
    enum:
    - enumerators:
      - name: VCC_SUCCESS
      - name: VCC_FAILED
      item_type: enum
      name: vcc_fini_e
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    preproc_defs:
    - item_type: preproc_def
      name: VCC_PRIV_MAGIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
      type_or_value: '0x70080cb8'
    - item_type: preproc_def
      name: VGC_SRC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
      type_or_value: '"vgc.c"'
    - item_type: preproc_def
      name: VGC_LIB
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
      type_or_value: '"vgc.so"'
    - item_type: preproc_def
      name: VGC_SYM
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
      type_or_value: '"vgc.sym"'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vclsrc'
        type: char
      - name: '*vclsrcfile'
        type: char
      - name: '*dir'
        type: struct vsb
      - name: '*csrcfile'
        type: struct vsb
      - name: '*libfile'
        type: struct vsb
      - name: '*symfile'
        type: struct vsb
      item_type: struct
      name: vcc_priv
      pos:
        line_end: 63
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcc.c
    typedefs: []
    union: []
- function_names:
  - CLI_CMD
  - mcf_banner
  - mcf_panic
  - mcf_askchild
  - mgt_cli_askchild
  - mgt_cli_start_child
  - mgt_cli_stop_child
  - mgt_cli_challenge
  - mcf_auth
  - mcf_help
  - mcf_help_json
  - mgt_cli_cb_before
  - mgt_cli_cb_after
  - mgt_cli_init_cls
  - mgt_cli_close_all
  - mgt_cli_callback2
  - mgt_cli_setup
  - sock_id
  - telnet_accept
  - mgt_cli_secret
  - mct_callback
  - mgt_cli_telnet
  - Marg_closer
  - Marg_connect
  - Marg_poker
  - marg_cb
  - mgt_cli_master
  - cli_cmp
  - mgt_DumpRstCli
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: M_ADDR_MAGIC
      pos:
        line_end: 560
        line_start: 559
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
      type_or_value: '0xbc6217ed'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*sa'
        type: struct suckaddr
      - name: (m_addr)
        type: VTAILQ_ENTRY
      item_type: struct
      name: m_addr
      pos:
        line_end: 562
        line_start: 557
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_cli.c
    typedefs: []
    union: []
- function_names:
  - VJS_MASK
  - priv_setop_check
  - priv_setop_assert
  - vjs_priv_on
  - vjs_add
  - vjs_master_rules
  - vjs_alloc
  - vjs_init
  - PRIV
  - vjs_waive
  - vjs_setuid
  - vjs_subproc
  - vjs_master
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VJS_EFFECTIVE
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
      type_or_value: '0'
    - item_type: preproc_def
      name: VJS_INHERITABLE
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
      type_or_value: '1'
    - item_type: preproc_def
      name: VJS_PERMITTED
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
      type_or_value: '2'
    - item_type: preproc_def
      name: VJS_LIMIT
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
      type_or_value: '3'
    - item_type: preproc_def
      name: VJS_NSET
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
      type_or_value: (VJS_LIMIT + 1)
    - item_type: preproc_def
      name: JAIL_MASTER_ANY
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mgt_panic_record
  - mgt_panic_clear
  - cli_panic_show
  - mch_cli_panic_show
  - mch_cli_panic_show_json
  - mch_cli_panic_clear
  - MCH_TrackHighFd
  - MCH_Fd_Inherit
  - child_line
  - child_listener
  - child_poker
  - mgt_launch_err
  - mgt_launch_child
  - kill_child
  - mgt_reap_child
  - MCH_Cli_Fail
  - MCH_Stop_Child
  - MCH_Start_Child
  - MCH_Running
  - mch_pid
  - mch_pid_json
  - mch_cli_server_start
  - mch_cli_server_stop
  - mch_cli_server_status
  - mch_cli_server_status_json
  - MCH_Init
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLOSE_FD_UP_TO
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
      type_or_value: (mgt_max_fd + 10)
    - item_type: preproc_def
      name: CHECK_FD_UP_TO
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_child.c
      type_or_value: (CLOSE_FD_UP_TO + 10)
    structs: []
    typedefs: []
    union: []
- function_names:
  - vjl_set_thp
  - vjl_init
  - vjl_master
  - vjl_subproc
  - vjl_make_subdir
  - vjl_make_workdir
  - vjl_fixfd
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_linux.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_decimal
  - tweak_generic_double
  - parse_duration
  - tweak_timeout
  - tweak_duration
  - tweak_double
  - parse_boolean
  - tweak_boolean
  - tweak_generic_uint
  - tweak_uint
  - tweak_uint_orzero
  - fmt_bytes
  - tweak_generic_bytes
  - tweak_bytes
  - tweak_bytes_u
  - tweak_vsl_buffer
  - tweak_vsl_reclen
  - tweak_string
  - tweak_poolparam
  - tweak_thread_pool_min
  - tweak_thread_pool_max
  - tweak_storage
  - STV_Foreach
  - tweak_alias
  - bit
  - bit_clear
  - bit_set
  - bit_tweak
  - tweak_generic_bits
  - tweak_vsl_mask
  - tweak_debug
  - tweak_experimental
  - tweak_feature
  - tweak_vcc_feature
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
  types:
    enum:
    - enumerators:
      - name: BSET
      - name: BCLR
      - name: BTST
      item_type: enum
      name: bit_do
      pos:
        line_end: 629
        line_start: 629
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: parse_double_f(const char *, const char **)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tweak.c
      type: double
    union: []
- function_names:
  - vext_tryopen
  - vext_argument
  - vext_iter
  - vext_copyin
  - vext_load
  - vext_cleanup
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VEXT_MAGIC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
      type_or_value: '0xd5063ef6'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (vext)
        type: VTAILQ_ENTRY
      - name: '**argv'
        type: char
      - name: fd
        type: int
      - name: '*vsb'
        type: struct vsb
      - name: '*dlptr'
        type: void
      item_type: struct
      name: vext
      pos:
        line_end: 58
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vext.c
    typedefs: []
    union: []
- function_names:
  - mgt_vcl_symtab_val
  - mgt_vcl_import_vcl
  - mgt_vcl_cache_vmod
  - mgt_vcl_import_vmod
  - mgt_vcl_symtab
  - mgt_vcl_symtab_clean
  - mcf_vcl_vjsn_dump
  - mcf_vcl_symtab
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_symtab.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris_tbl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: E
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris_tbl.h
      type_or_value: "VJS_MASK(VJS_EFFECTIVE)\t// as-is"
    - item_type: preproc_def
      name: I
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris_tbl.h
      type_or_value: "VJS_MASK(VJS_INHERITABLE)\t// as-is"
    - item_type: preproc_def
      name: P
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris_tbl.h
      type_or_value: "VJS_MASK(VJS_PERMITTED)\t// joined with effective"
    - item_type: preproc_def
      name: L
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail_solaris_tbl.h
      type_or_value: "VJS_MASK(VJS_LIMIT)\t\t// joined with of all the above"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELAYED_EFFECT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: EXPERIMENTAL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: MUST_RESTART
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: MUST_RELOAD
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: WIZARD
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: PROTECTED
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: OBJ_STICKY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: ONLY_ROOT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: NOT_IMPLEMENTED
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: PLATFORM_DEPENDENT
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: BUILD_OPTIONS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: TYPE_TIMEOUT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: DOCS_FLAGS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type_or_value: (NOT_IMPLEMENTED|PLATFORM_DEPENDENT|BUILD_OPTIONS)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*func'
        type: tweak_t
      - name: '*priv'
        type: void
      - name: '*min'
        type: char
      - name: '*max'
        type: char
      - name: '*def'
        type: char
      - name: '*units'
        type: char
      - name: '*descr'
        type: char
      - name: flags
        type: unsigned
      - name: '*dyn_min_reason'
        type: char
      - name: '*dyn_max_reason'
        type: char
      - name: '*dyn_def_reason'
        type: char
      - name: '*dyn_min'
        type: char
      - name: '*dyn_max'
        type: char
      - name: '*dyn_def'
        type: char
      item_type: struct
      name: parspec
      pos:
        line_end: 70
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
    typedefs:
    - item_type: typedef
      name: tweak_t(struct vsb *, const struct parspec *, const char *arg)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param.h
      type: int
    union: []
- function_names:
  - vjn_init
  - vjn_master
  - vjn_subproc
  - VJ_Init
  - VJ_master
  - VJ_subproc
  - VJ_make_workdir
  - VJ_make_subdir
  - VJ_unlink
  - VJ_rmdir
  - VJ_fix_fd
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_jail.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mgt_DumpOptions
  - usage
  - arg_list_add
  - arg_list_count
  - cli_check
  - mgt_stdin_close
  - mgt_secret_atexit
  - make_secret
  - mgt_Cflag_atexit
  - mgt_tests
  - mgt_initialize
  - mgt_x_arg
  - mgt_eric
  - mgt_eric_im_done
  - mgt_sigint
  - mgt_uptime
  - mgt_I_close
  - mgt_f_read
  - mgt_b_conv
  - mgt_process_f_arg
  - create_bogo_n_arg
  - create_pid_file
  - main
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FMT_NONL
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
      type_or_value: '"  %-35s # %s"'
    - item_type: preproc_def
      name: FMT
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
      type_or_value: FMT_NONL "\n"
    - item_type: preproc_def
      name: ARG_LIST_MAGIC
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
      type_or_value: '0x7b0d1bc4'
    - item_type: preproc_def
      name: ERIC_MAGIC
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
      type_or_value: "0x2246988a\t\t"
    - item_type: preproc_def
      name: F_ARG_MAGIC
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
      type_or_value: '0x840649a8'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: arg[2]
        type: char
      - name: '*val'
        type: char
      - name: (arg_list)
        type: VTAILQ_ENTRY
      - name: '*priv'
        type: void
      item_type: struct
      name: arg_list
      pos:
        line_end: 212
        line_start: 205
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*farg'
        type: char
      - name: '*src'
        type: char
      item_type: struct
      name: f_arg
      pos:
        line_end: 493
        line_start: 488
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_main.c
    typedefs: []
    union: []
- function_names:
  - keyval
  - ASSERT_JAIL_MASTER
  - ASSERT_JAIL_SUBPROC
  - pthread_create
  - MGT_FEATURE
  - MGT_EXPERIMENT
  - MGT_DO_DEBUG
  - MGT_VCC_FEATURE
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
  types:
    enum:
    - enumerators:
      - name: JAIL_MASTER_LOW
        value: '0'
      - name: JAIL_MASTER_SYSTEM
      - name: JAIL_MASTER_STORAGE
      - name: JAIL_MASTER_PRIVPORT
      - name: JAIL_MASTER_FILE
      - name: JAIL_MASTER_KILL
      item_type: enum
      name: jail_master_e
      pos:
        line_end: 118
        line_start: 110
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    - enumerators:
      - name: JAIL_SUBPROC_VCC
        value: JAIL_SUBPROC
      - name: JAIL_SUBPROC_WORKER
      - name: JAIL_SUBPROC_VCLLOAD
      - name: JAIL_SUBPROC_CC
      item_type: enum
      name: jail_subproc_e
      pos:
        line_end: 126
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    - enumerators:
      - name: JAIL_FIXFD_FILE
      - name: JAIL_FIXFD_VSMWRK
      - name: JAIL_FIXFD_VSMMGT
      - name: JAIL_FIXFD_WRKTMP
      item_type: enum
      name: jail_fixfd_e
      pos:
        line_end: 140
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    - enumerators:
      - name: MCF_DEFAULT
        value: '32'
      - name: MCF_MINIMUM
        value: '33'
      - name: MCF_MAXIMUM
        value: '34'
      item_type: enum
      name: mcf_which_e
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    preproc_defs:
    - item_type: preproc_def
      name: MCF_NOAUTH
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: MCF_AUTH
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type_or_value: '16'
    - item_type: preproc_def
      name: JAIL_TECH_MAGIC
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type_or_value: '0x4d00fa4d'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*init'
        type: jail_init_f
      - name: '*master'
        type: jail_master_f
      - name: '*subproc'
        type: jail_subproc_f
      - name: '*make_workdir'
        type: jail_make_dir_f
      - name: '*make_subdir'
        type: jail_make_dir_f
      - name: '*fixfd'
        type: jail_fixfd_f
      item_type: struct
      name: jail_tech
      pos:
        line_end: 158
        line_start: 148
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    - fields:
      - name: '*name'
        type: char
      - name: '*ptr'
        type: void
      item_type: struct
      name: choice
      pos:
        line_end: 179
        line_start: 176
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
    typedefs:
    - item_type: typedef
      name: mgt_cli_close_f(void *priv)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type: int
    - item_type: typedef
      name: jail_init_f(char **)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type: int
    - item_type: typedef
      name: jail_master_f(enum jail_master_e)
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type: void
    - item_type: typedef
      name: jail_subproc_f(enum jail_subproc_e)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type: void
    - item_type: typedef
      name: jail_make_dir_f(const char *, const char *, struct vsb *)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type: int
    - item_type: typedef
      name: jail_fixfd_f(int, enum jail_fixfd_e)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type: void
    - item_type: typedef
      name: vext_iter_f(const char *, void *)
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt.h
      type: void
    union: []
- function_names:
  - tcp_probe
  - tcp_keep_probes
  - MCF_TcpParams
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_param_tcp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCL_STATE
  - mcf_vcl_parse_state
  - VCL_STATE
  - mcf_vcl_byname
  - mcf_invalid_vclname
  - mcf_find_vcl
  - mcf_find_no_vcl
  - mcf_is_label
  - mgt_vcl_dep_add
  - mgt_vcl_dep_del
  - mgt_vcl_add
  - mgt_vcl_del
  - mgt_has_vcl
  - mgt_vcl_set_cooldown
  - mgt_vcl_settemp
  - mgt_vcl_requirewarm
  - mgt_vcl_askchild
  - mgt_vcl_setstate
  - mgt_new_vcl
  - mgt_vcl_startup
  - mgt_push_vcls
  - mcf_vcl_inline
  - mcf_vcl_load
  - mcf_vcl_state
  - mcf_vcl_use
  - mgt_vcl_discard
  - mgt_vcl_discard_mark
  - mgt_vcl_discard_depfail
  - mgt_vcl_discard_depcheck
  - mgt_vcl_discard_clear
  - mcf_vcl_discard
  - mcf_vcl_list
  - mcf_vcl_list_json
  - mcf_vcl_check_dag
  - mcf_vcl_label
  - mcf_vcl_deps
  - mcf_vcl_deps_json
  - mgt_vcl_poker
  - mgt_vcl_atexit
  - mgt_vcl_init
  source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: vclstate
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/mgt/mgt_vcl.c
    typedefs: []
    union: []
- function_names:
  - hcb_bits
  - hcb_build_bittbl
  - hcb_is_node
  - hcb_is_y
  - hcb_r_node
  - hcb_l_node
  - hcb_r_y
  - hcb_l_y
  - hcb_crit_bit
  - hcb_insert
  - hcb_delete
  - hcb_cleaner
  - hcb_start
  - hcb_deref
  - hcb_lookup
  - hcb_prep
  source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HCB_Y_MAGIC
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
      type_or_value: '0x125c4bd2'
    - item_type: preproc_def
      name: HCB_BIT_NODE
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: HCB_BIT_Y
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
      type_or_value: (1<<1)
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: critbit
        type: unsigned short
      - name: ptr
        type: unsigned char
      - name: bitmask
        type: unsigned char
      - name: leaf[2]
        type: uintptr_t
      - name: (hcb_y)
        type: VSTAILQ_ENTRY
      item_type: struct
      name: hcb_y
      pos:
        line_end: 99
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    - fields:
      - name: origo
        type: uintptr_t
      item_type: struct
      name: hcb_root
      pos:
        line_end: 106
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_critbit.c
    typedefs: []
    union: []
- function_names:
  - hcl_init
  - hcl_start
  - hcl_lookup
  - hcl_deref
  source_file: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HCL_HEAD_MAGIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
      type_or_value: '0x0f327016'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (, objhead)
        type: VTAILQ_HEAD
      - name: mtx
        type: struct lock
      item_type: struct
      name: hcl_hd
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_classic.c
    typedefs: []
    union: []
- function_names:
  - hsl_start
  - hsl_lookup
  - hsl_deref
  source_file: /src/vinyl-cache/bin/vinyld/hash/hash_simple_list.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SLINGER_MAGIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
      type_or_value: '0x1b720cba'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*init'
        type: hash_init_f
      - name: '*start'
        type: hash_start_f
      - name: '*prep'
        type: hash_prep_f
      - name: '*lookup'
        type: hash_lookup_f
      - name: '*deref'
        type: hash_deref_f
      item_type: struct
      name: hash_slinger
      pos:
        line_end: 51
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
    typedefs:
    - item_type: typedef
      name: hash_init_f(int ac, char * const *av)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
      type: void
    - item_type: typedef
      name: hash_start_f(void)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
      type: void
    - item_type: typedef
      name: hash_prep_f(struct worker *)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
      type: void
    - item_type: typedef
      name: "*hash_lookup_f(struct worker *, const void *digest,\n    struct objhead
        **)"
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
      type: objhead
    - item_type: typedef
      name: hash_deref_f(struct worker *, struct objhead *)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/hash/hash_slinger.h
      type: int
    union: []
- function_names:
  - HSH_config
  source_file: /src/vinyl-cache/bin/vinyld/hash/mgt_hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TBLSIZE
  - ENTRIES
  - TBLENTRIES
  - TBLENTRY
  - ENTRYLEN
  - ENTRYSIZE
  - vht_newentry
  - vht_trim
  - vht_appendname
  - vht_appendvalue
  - VHT_NewEntry
  - VHT_NewEntry_Indexed
  - VHT_AppendName
  - VHT_AppendValue
  - VHT_SetMaxTableSize
  - VHT_SetProtoMax
  - VHT_LookupName
  - VHT_LookupValue
  - VHT_Init
  - VHT_Fini
  - vht_matchtable
  - test_1
  - test_2
  - test_3
  - test_4
  - test_5
  - main
  source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VHT_STATIC_MAX
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
      type_or_value: '61'
    - item_type: preproc_def
      name: VHT_DYNAMIC
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
      type_or_value: (VHT_STATIC_MAX + 1)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: namelen
        type: unsigned
      - name: '*value'
        type: char
      - name: valuelen
        type: unsigned
      item_type: struct
      name: vht_static
      pos:
        line_end: 69
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_table.c
    typedefs: []
    union: []
- function_names:
  - tbl_new
  - tbl_free
  - tbl_add
  - print_lsb
  - tbl_print
  - main
  source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HUF_LEN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
      type_or_value: vcountof(huf)
    structs:
    - fields:
      - name: code
        type: uint32_t
      - name: blen
        type: unsigned
      - name: chr
        type: char
      item_type: struct
      name: 'huf[] = {

        #define HPH(c, h, l) { h, l, (char)c },

        #include "tbl/vhp_huffman.h"

        }'
      pos:
        line_end: 50
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - fields:
      - name: bits
        type: uint32_t
      - name: len
        type: unsigned
      - name: chr
        type: uint8_t
      - name: '*next'
        type: struct tbl
      item_type: struct
      name: cod
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    - fields:
      - name: mask
        type: unsigned
      - name: code
        type: uint32_t
      - name: masked
        type: unsigned
      - name: n
        type: unsigned
      - name: idx
        type: unsigned
      - name: lvl
        type: unsigned
      - name: p_idx
        type: unsigned
      - name: v_counted_by_(n)
        type: struct cod
      item_type: struct
      name: tbl
      pos:
        line_end: 75
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_gen_hufdec.c
    typedefs: []
    union: []
- function_names:
  - VHD_FSM_FUNC
  - vhd_set_state
  - vhd_next_state
  - vhd_skip
  - vhd_goto
  - vhd_idle
  - vhd_integer
  - vhd_set_max
  - vhd_set_idx
  - vhd_lookup
  - vhd_new
  - vhd_new_idx
  - vhd_branch_zidx
  - vhd_branch_bit0
  - vhd_raw
  - vhd_huffman
  - VHD_Error
  - VHD_RET
  - VHD_Decode
  - VHD_FSM_FUNC
  - VHD_Init
  - hexbuf
  - match
  - decode
  - CHECK_RET
  - CHECK_INT
  - test_integer
  - test_raw
  - test_huffman
  - test_c2
  - test_c3
  - test_c4
  - test_c5
  - test_c6
  - do_test
  - main
  source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VHD_INCREMENTAL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: M_1IN
      pos:
        line_end: 657
        line_start: 656
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
      type_or_value: (1U << 0)
    - item_type: preproc_def
      name: M_1OUT
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
      type_or_value: (1U << 1)
    structs:
    - fields:
      - name: '*d'
        type: struct vhd_decode
      - name: '*tbl'
        type: struct vht_table
      - name: '*in'
        type: uint8_t
      - name: '*in_e'
        type: uint8_t
      - name: '*out'
        type: char
      - name: '*out_e'
        type: char
      item_type: struct
      name: vhd_ctx
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    - fields:
      - name: '*name'
        type: char
      - name: func
        type: enum vhd_func_e
      - name: arg1
        type: unsigned
      - name: arg2
        type: unsigned
      item_type: struct
      name: vhd_state
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
    typedefs:
    - item_type: typedef
      name: vhd_state_f(struct vhd_ctx *ctx, unsigned first)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp_decode.c
      type: vhd_ret_e
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VHT_ENTRY_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: 32U
    - item_type: preproc_def
      name: VHT_ENTRY_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: '0xc06dd892'
    - item_type: preproc_def
      name: VHT_TABLE_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: '0x6bbdc683'
    - item_type: preproc_def
      name: VHD_INT_MAGIC
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: '0x05'
    - item_type: preproc_def
      name: VHD_RAW_MAGIC
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: '0xa0'
    - item_type: preproc_def
      name: VHD_HUFFMAN_MAGIC
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: '0x56'
    - item_type: preproc_def
      name: VHD_LOOKUP_MAGIC
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: '0x65'
    - item_type: preproc_def
      name: VHD_DECODE_MAGIC
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
      type_or_value: '0x9cbc72b2'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: offset
        type: unsigned
      - name: namelen
        type: unsigned
      - name: valuelen
        type: unsigned
      item_type: struct
      name: vht_entry
      pos:
        line_end: 43
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
    - fields:
      - name: magic
        type: unsigned
      - name: n
        type: unsigned
      - name: size
        type: unsigned
      - name: maxsize
        type: unsigned
      - name: protomax
        type: unsigned
      - name: bufsize
        type: unsigned
      - name: '*buf'
        type: char
      item_type: struct
      name: vht_table
      pos:
        line_end: 54
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
    - fields:
      - name: magic
        type: uint8_t
      - name: pfx
        type: uint8_t
      - name: m
        type: uint8_t
      - name: v
        type: unsigned
      item_type: struct
      name: vhd_int
      pos:
        line_end: 82
        line_start: 75
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
    - fields:
      - name: magic
        type: uint8_t
      - name: l
        type: unsigned
      item_type: struct
      name: vhd_raw
      pos:
        line_end: 89
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
    - fields:
      - name: magic
        type: uint8_t
      - name: blen
        type: uint8_t
      - name: bits
        type: uint16_t
      - name: pos
        type: uint16_t
      - name: len
        type: unsigned
      item_type: struct
      name: vhd_huffman
      pos:
        line_end: 99
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
    - fields:
      - name: magic
        type: uint8_t
      - name: l
        type: unsigned
      item_type: struct
      name: vhd_lookup
      pos:
        line_end: 106
        line_start: 101
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
    - fields:
      - name: magic
        type: unsigned
      - name: index
        type: unsigned
      - name: state
        type: uint16_t
      - name: error
        type: int8_t
      - name: first
        type: uint8_t
      item_type: struct
      name: vhd_decode
      pos:
        line_end: 123
        line_start: 108
        source_file: /src/vinyl-cache/bin/vinyld/hpack/vhp.h
    typedefs: []
    union: []
- function_names:
  - V1L_Open
  - V1L_NoRollback
  - V1L_Close
  - v1l_prune
  - V1L_Flush
  - V1L_Write
  - V1L_Chunked
  - V1L_EndChunk
  - v1l_init
  - v1l_bytes
  - v1l_io_init
  - v1l_io_upgrade
  - v1l_io_lease
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: V1L_MAGIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
      type_or_value: '0x2f2142e5'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*wfd'
        type: int
      - name: werr
        type: stream_close_t
      - name: '*iov'
        type: struct iovec
      - name: siov
        type: int
      - name: niov
        type: int
      - name: liov
        type: size_t
      - name: cliov
        type: size_t
      - name: ciov
        type: int
      - name: deadline
        type: vtim_real
      - name: '*vsl'
        type: struct vsl_log
      - name: cnt
        type: uint64_t
      - name: '*ws'
        type: struct ws
      - name: ws_snap
        type: uintptr_t
      - name: '**vdp_priv'
        type: void
      item_type: struct
      name: v1l
      pos:
        line_end: 71
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_line.c
    typedefs: []
    union: []
- function_names:
  - v1f_read
  - v1f_chunk_end
  - v1f_chunked_hdr
  - v1f_poll
  - v1f_chunked_pull
  - v1f_straight_pull
  - v1f_eof_pull
  - V1F_Setup_Fetch
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_vfp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - v1d_error
  - V1D_Deliver
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_deliver.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rdf
  - V1P_Enter
  - V1P_Leave
  - V1P_Charge
  - V1P_Process
  - V1P_Init
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_pipe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - HTTP1_Complete
  - http1_dissect_hdrs
  - http1_splitline
  - http1_body_status
  - HTTP1_DissectRequest
  - HTTP1_DissectResponse
  - http1_WrTxt
  - HTTP1_Write
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_proto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: req
        type: uint64_t
      - name: bereq
        type: uint64_t
      - name: in
        type: uint64_t
      - name: out
        type: uint64_t
      item_type: struct
      name: v1p_acct
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1.h
    typedefs: []
    union: []
- function_names:
  - v1f_stackv1l
  - V1F_SendReq
  - V1F_FetchRespHdr
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fetch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - http1_setstate
  - http1_getstate
  - http1_req
  - http1_new_session
  - http1_unwait
  - http1_req_body
  - http1_sess_panic
  - http1_req_panic
  - http1_req_fail
  - http1_minimal_response
  - http1_abort
  - http1_dissect
  - HTTP1_Session
  source_file: /src/vinyl-cache/bin/vinyld/http1/cache_http1_fsm.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - waited_cmp
  - waited_update
  - Wait_Call
  - Wait_HeapInsert
  - Wait_HeapDelete
  - Wait_HeapDue
  - Wait_Enter
  - Waiter_GetName
  - Waiter_New
  - Waiter_Destroy
  source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vwk_thread
  - vwk_enter
  - vwk_init
  - vwk_fini
  source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NKEV
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
      type_or_value: '256'
    - item_type: preproc_def
      name: VWK_MAGIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
      type_or_value: '0x1cc2acc2'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: kq
        type: int
      - name: '*waiter'
        type: struct waiter
      - name: thread
        type: pthread_t
      - name: next
        type: double
      - name: pipe[2]
        type: int
      - name: nwaited
        type: unsigned
      - name: die
        type: int
      - name: mtx
        type: struct lock
      item_type: struct
      name: vwk
      pos:
        line_end: 59
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_kqueue.c
    typedefs: []
    union: []
- function_names:
  - Wait_config
  source_file: /src/vinyl-cache/bin/vinyld/waiter/mgt_waiter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vwp_extend_pollspace
  - vwp_add
  - vwp_del
  - vwp_dopipe
  - vwp_main
  - vwp_enter
  - vwp_init
  - vwp_fini
  source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VWP_MAGIC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
      type_or_value: '0x4b2cc735'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*waiter'
        type: struct waiter
      - name: pipes[2]
        type: int
      - name: thread
        type: pthread_t
      - name: '*pollfd'
        type: struct pollfd
      - name: '**idx'
        type: struct waited
      - name: npoll
        type: size_t
      - name: hpoll
        type: size_t
      item_type: struct
      name: vwp
      pos:
        line_end: 56
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_poll.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter.h
  types:
    enum:
    - enumerators:
      - name: WAITER_REMCLOSE
      - name: WAITER_CLOSE
      - name: WAITER_TIMEOUT
      - name: WAITER_ACTION
      item_type: enum
      name: wait_event
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter.h
    preproc_defs:
    - item_type: preproc_def
      name: WAITED_MAGIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter.h
      type_or_value: '0x1743992d'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: fd
        type: int
      - name: idx
        type: unsigned
      - name: '*priv1'
        type: void
      - name: '*priv2'
        type: void
      - name: '*func'
        type: waiter_handle_f
      - name: tmo
        type: vtim_dur
      - name: idle
        type: vtim_real
      item_type: struct
      name: waited
      pos:
        line_end: 68
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter.h
    typedefs:
    - item_type: typedef
      name: waiter_handle_f(struct waited *, enum wait_event, vtim_real now)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter.h
      type: void
    union: []
- function_names:
  - vws_add
  - vws_del
  - vws_port_ev
  - vws_thread
  - vws_enter
  - vws_init
  - vws_fini
  source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EVENTS
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
      type_or_value: '256'
    - item_type: preproc_def
      name: VWS_MAGIC
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
      type_or_value: '0x0b771473'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*waiter'
        type: struct waiter
      - name: thread
        type: pthread_t
      - name: next
        type: double
      - name: dport
        type: int
      - name: nwaited
        type: unsigned
      - name: die
        type: int
      item_type: struct
      name: vws
      pos:
        line_end: 94
        line_start: 85
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_ports.c
    typedefs: []
    union: []
- function_names:
  - Wait_When
  source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WAITER_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h
      type_or_value: '0x17c399db'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*init'
        type: waiter_init_f
      - name: '*fini'
        type: waiter_fini_f
      - name: '*enter'
        type: waiter_enter_f
      - name: size
        type: size_t
      item_type: struct
      name: waiter_impl
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h
    typedefs:
    - item_type: typedef
      name: waiter_init_f(struct waiter *)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h
      type: void
    - item_type: typedef
      name: waiter_fini_f(struct waiter *)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h
      type: void
    - item_type: typedef
      name: waiter_enter_f(void *priv, struct waited *)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/waiter/waiter_priv.h
      type: int
    union: []
- function_names:
  - vwe_thread
  - vwe_enter
  - vwe_init
  - vwe_fini
  source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EPOLLRDHUP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
      type_or_value: '0'
    - item_type: preproc_def
      name: NEEV
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: VWE_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
      type_or_value: '0x6bd73424'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: epfd
        type: int
      - name: '*waiter'
        type: struct waiter
      - name: thread
        type: pthread_t
      - name: next
        type: double
      - name: pipe[2]
        type: int
      - name: nwaited
        type: unsigned
      - name: die
        type: int
      - name: mtx
        type: struct lock
      item_type: struct
      name: vwe
      pos:
        line_end: 66
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/waiter/cache_waiter_epoll.c
    typedefs: []
    union: []
- function_names:
  - WAITER
  source_file: /src/vinyl-cache/bin/vinyld/waiter/mgt_waiter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LISTEN_ARG_MAGIC
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.h
      type_or_value: '0xbb2fc333'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SOCK_OPT
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WRK_ACCEPT_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
      type_or_value: '0x8c4b4d59'
    - item_type: preproc_def
      name: POOLSOCK_MAGIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
      type_or_value: '0x1b0a2d38'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: acceptaddr
        type: struct sockaddr_storage
      - name: acceptaddrlen
        type: socklen_t
      - name: acceptsock
        type: int
      - name: '*acceptlsock'
        type: struct listen_sock
      item_type: struct
      name: wrk_accept
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
    - fields:
      - name: magic
        type: unsigned
      - name: (poolsock)
        type: VTAILQ_ENTRY
      - name: '*lsock'
        type: struct listen_sock
      - name: task[1]
        type: struct pool_task
      - name: '*pool'
        type: struct pool
      - name: '*vca_priv'
        type: void
      item_type: struct
      name: poolsock
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
    - fields:
      - name: sess_set
        type: unsigned
      - name: listen_mod
        type: unsigned
      item_type: struct
      name: conn_heritage
      pos:
        line_end: 59
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
    - fields:
      - name: level
        type: int
      - name: optname
        type: int
      - name: '*strname'
        type: char
      - name: mod
        type: unsigned
      - name: sz
        type: socklen_t
      - name: arg[1]
        type: union sock_arg
      item_type: struct
      name: sock_opt
      pos:
        line_end: 79
        line_start: 72
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
    typedefs: []
    union:
    - fields:
      - name: lg
        type: struct linger
      - name: tv
        type: struct timeval
      - name: i
        type: int
      item_type: union
      name: sock_arg
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_priv.h
- function_names:
  - vca_uds_sockopt_init
  - SET_VAL
  - NEW_VAL
  - vca_uds_sockopt_test
  - vca_uds_sockopt_set
  - vca_uds_init
  - vca_uds_listen
  - vca_uds_start
  - vca_uds_event
  - vca_mk_uds
  - vca_uds_make_session
  - vca_uds_accept_task
  - vca_uds_accept
  - vca_uds_update
  - vca_uds_shutdown
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_uds.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCA_Foreach
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
  types:
    enum:
    - enumerators:
      - name: VCA_EVENT_LADDR
      item_type: enum
      name: vca_event
      pos:
        line_end: 44
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
    preproc_defs:
    - item_type: preproc_def
      name: ACCEPTOR_MAGIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type_or_value: '0x0611847c'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (acceptor)
        type: VTAILQ_ENTRY
      - name: (,listen_sock)
        type: VTAILQ_HEAD
      - name: '*name'
        type: char
      - name: '*vca_priv'
        type: void
      - name: '*config'
        type: acceptor_config_f
      - name: '*init'
        type: acceptor_init_f
      - name: '*open'
        type: acceptor_open_f
      - name: '*reopen'
        type: acceptor_reopen_f
      - name: '*start'
        type: acceptor_start_f
      - name: '*event'
        type: acceptor_event_f
      - name: '*accept'
        type: acceptor_accept_f
      - name: '*update'
        type: acceptor_update_f
      - name: '*shutdown'
        type: acceptor_shutdown_f
      item_type: struct
      name: acceptor
      pos:
        line_end: 75
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
    typedefs:
    - item_type: typedef
      name: acceptor_config_f(void)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: int
    - item_type: typedef
      name: acceptor_init_f(void)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: void
    - item_type: typedef
      name: "acceptor_open_f(char **, struct listen_arg *,\n    const char **)"
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: int
    - item_type: typedef
      name: acceptor_reopen_f(void)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: int
    - item_type: typedef
      name: acceptor_start_f(struct cli *)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: void
    - item_type: typedef
      name: "acceptor_event_f(struct cli *, struct listen_sock *,\n    enum vca_event)"
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: void
    - item_type: typedef
      name: acceptor_accept_f(struct pool *)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: void
    - item_type: typedef
      name: acceptor_update_f(struct lock *)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: void
    - item_type: typedef
      name: acceptor_shutdown_f(void)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_tcp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_uds.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UDS_PERMS_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_uds.h
      type_or_value: '0x84fb5635'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: mode
        type: mode_t
      - name: uid
        type: uid_t
      - name: gid
        type: gid_t
      item_type: struct
      name: uds_perms
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/acceptor/acceptor_uds.h
    typedefs: []
    union: []
- function_names:
  - vca_uds_config
  - vca_vus_bind
  - vca_uds_opensocket
  - vca_uds_open_cb
  - vca_uds_open
  - vca_uds_reopen
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_uds.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vca_tcp_sockopt_set
  - vca_tcp_init
  - vca_tcp_listen
  - vca_tcp_start
  - vca_tcp_event
  - vca_mk_tcp
  - vca_tcp_make_session
  - vca_tcp_accept_task
  - vca_tcp_accept
  - vca_tcp_update
  - vca_tcp_shutdown
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor_tcp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vca_periodic
  - vca_pace_check
  - vca_pace_bad
  - vca_pace_good
  - VCA_NewPool
  - VCA_Foreach
  - VCA_DestroyPool
  - vca_acct
  - VCA_Foreach
  - VCA_Start
  - VCA_Foreach
  - ccf_listen_address
  - VCA_Init
  - VCA_Foreach
  - VCA_Shutdown
  - VCA_Foreach
  - XPORT_Register
  - XPORT_Init
  - TRANSPORT_MACRO
  - XPORT_Find
  - XPORT_ByNumber
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/cache_acceptor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vca_tcp_config
  - vca_tcp_opensocket
  - vca_tcp_open_cb
  - vca_tcp_open
  - vca_tcp_reopen
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor_tcp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCA__iter
  - VCA_Find
  - VCA_Foreach
  - VCA_reopen_sockets
  - VCA_Foreach
  - VCA_Arg
  - VCA_Add
  - VCA_Config
  source_file: /src/vinyl-cache/bin/vinyld/acceptor/mgt_acceptor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PAN__DumpStruct
  - VSL
  - VSLb
  - VSLb_ts
  - ObjVAIlease
  - ObjVAIreturn
  - WRK_Log
  - LLVMFuzzerTestOneInput
  - BSET
  - main
  source_file: /src/vinyl-cache/bin/vinyld/fuzzers/esi_parse_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ASSERT_MGT
  - ARGV_ERR
  source_file: /src/vinyl-cache/bin/vinyld/common/heritage.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LISTEN_SOCK_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyld/common/heritage.h
      type_or_value: '0x999e4b57'
    - item_type: preproc_def
      name: ARGV_EXIT
      pos:
        line_end: 112
        line_start: 107
        source_file: /src/vinyl-cache/bin/vinyld/common/heritage.h
      type_or_value: "do {\t\t\t\t\t\t\t\\\n\t\tfprintf(stderr, \"(-? gives usage)\\n\");\t\t\\\n\t\texit(2);\t\t\t\t\t\\\n\t}
        while (0)"
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (listen_sock)
        type: VTAILQ_ENTRY
      - name: (listen_sock)
        type: VTAILQ_ENTRY
      - name: (listen_sock)
        type: VTAILQ_ENTRY
      - name: sock
        type: int
      - name: uds
        type: int
      - name: '*endpoint'
        type: char
      - name: '*name'
        type: char
      - name: '*addr'
        type: struct suckaddr
      - name: '*transport'
        type: struct transport
      - name: '*perms'
        type: struct uds_perms
      - name: test_heritage
        type: unsigned
      - name: '*conn_heritage'
        type: struct conn_heritage
      - name: '*vca'
        type: struct acceptor
      - name: '*vca_priv'
        type: void
      item_type: struct
      name: listen_sock
      pos:
        line_end: 58
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyld/common/heritage.h
    - fields:
      - name: cli_fd
        type: int
      - name: std_fd
        type: int
      - name: vsm_fd
        type: int
      - name: socks
        type: struct listen_sock_head
      - name: '*hash'
        type: struct hash_slinger
      - name: '*param'
        type: struct params
      - name: '*identity'
        type: char
      - name: '*panic_str'
        type: char
      - name: panic_str_len
        type: ssize_t
      - name: '*cls'
        type: struct VCLS
      - name: '*ident'
        type: char
      - name: mgt_pid
        type: long
      - name: '*proc_vsmw'
        type: struct vsmw
      - name: min_vcl_version
        type: unsigned
      - name: max_vcl_version
        type: unsigned
      - name: argc
        type: int
      - name: "* const *\t\t\targv"
        type: char
      item_type: struct
      name: heritage
      pos:
        line_end: 98
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/common/heritage.h
    typedefs:
    - item_type: typedef
      name: vsm_lock_f(void)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/vinyl-cache/bin/vinyld/common/heritage.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/common/vsmw.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vsmw_dummy_lock
  - vsmw_assert_lock
  - vsmw_do_lock
  - vsmw_do_lock_
  - vsmw_do_unlock
  - vsmw_do_unlock_
  - vsmw_idx_head
  - ASSERT_SEG_STR
  - vsmw_fmt_index
  - vsmw_mkent
  - vsmw_append_record
  - vsmw_addseg
  - vsmw_delseg
  - printlim
  - printmemlock
  - printmemlock
  - vsmw_newcluster
  - VSMW_NewCluster
  - vsmw_DestroyCluster_locked
  - VSMW_DestroyCluster
  - VSMW_Allocv
  - VSMW_Allocf
  - VSMW_Free
  - VSMW_New
  - VSMW_Destroy
  source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_HASSEMAPHORE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: MAP_NOSYNC
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: VSMW_CLUSTER_MAGIC
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
      type_or_value: '0x28b74c00'
    - item_type: preproc_def
      name: VSMWSEG_MAGIC
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
      type_or_value: '0x7e4ccaea'
    - item_type: preproc_def
      name: VSMW_MAGIC
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
      type_or_value: '0xc2ca2cd9'
    - item_type: preproc_def
      name: VSM_CLUSTER_OFFSET
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
      type_or_value: '16'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (vsmw_cluster)
        type: VTAILQ_ENTRY
      - name: '*cseg'
        type: struct vsmwseg
      - name: '*fn'
        type: char
      - name: len
        type: size_t
      - name: '*ptr'
        type: void
      - name: next
        type: size_t
      - name: refs
        type: int
      - name: named
        type: int
      item_type: struct
      name: vsmw_cluster
      pos:
        line_end: 109
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    - fields:
      - name: magic
        type: unsigned
      - name: list
        type: VTAILQ_ENTRY
      - name: '*cluster'
        type: struct vsmw_cluster
      - name: '*category'
        type: char
      - name: 'off'
        type: size_t
      - name: len
        type: size_t
      - name: '*id'
        type: char
      - name: '*ptr'
        type: void
      item_type: struct
      name: vsmwseg
      pos:
        line_end: 122
        line_start: 111
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsmw.c
    typedefs: []
    union: []
- function_names:
  - vsc_dummy_lock
  - vrt_vsc_mksegv
  - vrt_vsc_mksegf
  - VRT_VSC_Overhead
  - VRT_VSC_Hide
  - VRT_VSC_Reveal
  - VRT_VSC_Allocv
  - VRT_VSC_Alloc
  - VRT_VSC_Destroy
  source_file: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSC_SEG_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
      type_or_value: '0x9b355991'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vsm'
        type: struct vsmw
      - name: '*nm'
        type: char
      - name: (vsc_seg)
        type: VTAILQ_ENTRY
      - name: '*seg'
        type: void
      - name: '*head'
        type: struct vsc_head
      - name: '*ptr'
        type: void
      - name: '*doc'
        type: struct vsc_seg
      - name: '*jp'
        type: unsigned char
      - name: refs
        type: int
      item_type: struct
      name: vsc_seg
      pos:
        line_end: 69
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/common/common_vsc.c
    typedefs: []
    union: []
- function_names:
  - COM_DO_DEBUG
  - COM_EXPERIMENT
  - COM_FEATURE
  - COM_VCC_FEATURE
  - PARAM_BITMAP
  - PARAM
  source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSM_CLASS_PARAM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: '"Params"'
    - item_type: preproc_def
      name: ptyp_boolean
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ptyp_bytes
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: ssize_t
    - item_type: preproc_def
      name: ptyp_bytes_u
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ptyp_debug
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: debug_t
    - item_type: preproc_def
      name: ptyp_double
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: double
    - item_type: preproc_def
      name: ptyp_duration
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: vtim_dur
    - item_type: preproc_def
      name: ptyp_experimental
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: experimental_t
    - item_type: preproc_def
      name: ptyp_feature
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: feature_t
    - item_type: preproc_def
      name: ptyp_poolparam
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: struct poolparam
    - item_type: preproc_def
      name: ptyp_thread_pool_max
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ptyp_thread_pool_min
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ptyp_timeout
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: vtim_dur
    - item_type: preproc_def
      name: ptyp_uint
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ptyp_uint_orzero
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ptyp_vcc_feature
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: vcc_feature_t
    - item_type: preproc_def
      name: ptyp_vsl_buffer
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: ptyp_vsl_mask
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: vsl_mask_t
    - item_type: preproc_def
      name: ptyp_vsl_reclen
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
      type_or_value: unsigned
    structs:
    - fields:
      - name: min_pool
        type: unsigned
      - name: max_pool
        type: unsigned
      - name: max_age
        type: vtim_dur
      item_type: struct
      name: poolparam
      pos:
        line_end: 94
        line_start: 90
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
    - fields:
      - name: vre_limits
        type: struct vre_limits
      item_type: struct
      name: params
      pos:
        line_end: 146
        line_start: 105
        source_file: /src/vinyl-cache/bin/vinyld/common/common_param.h
    typedefs: []
    union: []
- function_names:
  - h2_enc_settings
  - H2_SETTING
  - h2_local_settings
  - H2_SETTING
  - H2S_Lock_VSLb
  - h2_init_sess
  - h2_del_sess
  - H2_prism_complete
  - h2_b64url_settings
  - h2_ou_rel
  - h2_ou_session
  - H2_PU_Sess
  - H2_OU_Sess
  - h2_new_session
  - h2_poll
  source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H2_PU_MARKER
      pos:
        line_end: 347
        line_start: 346
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
      type_or_value: '1'
    - item_type: preproc_def
      name: H2_OU_MARKER
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_session.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - H2EC1
  - H2EC2
  - H2EC3
  - H2_ERROR
  - h2_framename
  - H2_FRAME
  - H2_FRAME_FLAGS
  - h2_streamerror
  - h2_connectionerror
  - h2_new_req
  - h2_del_req
  - h2_kill_req
  - h2_vsl_frame
  - h2_rx_ping
  - h2_rx_push_promise
  - h2_rapid_reset_check
  - h2_rapid_reset_charge
  - h2_rx_rst_stream
  - h2_rx_goaway
  - h2_tx_goaway
  - h2_rx_window_update
  - h2_rx_priority
  - H2_SETTING
  - H2_SETTING
  - h2_win_adjust
  - h2_set_setting
  - h2_rx_settings
  - h2_do_req
  - h2_end_headers
  - h2_rx_headers
  - h2_rx_continuation
  - h2_rx_data
  - h2_vfp_body
  - h2_vfp_body_fini
  - h2_req_body
  - h2_req_fail
  - h2_frame_complete
  - h2_procframe
  - h2_stream_tmo
  - h2_stream_tmo_unlocked
  - h2_sweep
  - h2_htc_debug
  - H2_FRAME
  - h2_rxframe
  source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NSTREAMERRORS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
      type_or_value: vcountof(stream_errors)
    - item_type: preproc_def
      name: NCONNERRORS
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
      type_or_value: vcountof(conn_errors)
    - item_type: preproc_def
      name: H2_SETTING_TBL_LEN
      pos:
        line_end: 526
        line_start: 525
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
      type_or_value: vcountof(h2_setting_tbl)
    - item_type: preproc_def
      name: H2FMAX
      pos:
        line_end: 1509
        line_start: 1508
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_proto.c
      type_or_value: vcountof(h2flist)
    structs: []
    typedefs: []
    union: []
- function_names:
  - h2h_assert_ready
  - h2h_checkhdr
  - Tforeach
  - Tforeach
  - h2h_addhdr
  - Tforeach
  - Tforeach
  - Tforeach
  - h2h_decode_init
  - h2h_decode_hdr_init
  - h2h_decode_hdr_fini
  - h2h_decode_bytes
  source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_hpack.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - h2_errcheck
  - h2_cond_wait
  - h2_send_get_locked
  - H2_Send_Get
  - h2_send_rel_locked
  - H2_Send_Rel
  - h2_mk_hdr
  - H2_Send_Frame
  - h2_win_limit
  - h2_win_charge
  - h2_do_window
  - h2_send
  - H2_Send_RST
  - H2_Send_GOAWAY
  - H2_Send
  source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_send.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - H2_ERROR_MATCH
  - H2EC1
  - H2EC2
  - H2EC3
  - H2_ERROR
  - H2_FRAME
  - H2_SETTING
  - H2_SETTING
  - H2_FRAME_FLAGS
  - ASSERT_RXTHR
  - H2_SEND_HELD
  source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: H2_RXBUF_MAGIC
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type_or_value: '0x73f9fb27'
    - item_type: preproc_def
      name: H2_REQ_MAGIC
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type_or_value: '0x03411584'
    - item_type: preproc_def
      name: H2_SESS_MAGIC
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type_or_value: '0xa16f7e4b'
    - item_type: preproc_def
      name: H2H_DECODE_MAGIC
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type_or_value: '0xd092bde4'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*txt'
        type: char
      - name: val
        type: uint32_t
      - name: stream
        type: int
      - name: connection
        type: int
      - name: send_goaway
        type: int
      - name: reason
        type: stream_close_t
      item_type: struct
      name: h2_error_s
      pos:
        line_end: 48
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    - fields:
      - name: '*name'
        type: char
      - name: '*rxfunc'
        type: h2_rxframe_f
      - name: type
        type: uint8_t
      - name: flags
        type: uint8_t
      - name: act_szero
        type: h2_error
      - name: act_snonzero
        type: h2_error
      - name: act_sidle
        type: h2_error
      - name: respect_window
        type: int
      - name: continuation
        type: h2_frame
      - name: final_flags
        type: uint8_t
      - name: overhead
        type: int
      item_type: struct
      name: h2_frame_s
      pos:
        line_end: 85
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    - fields: []
      item_type: struct
      name: h2_settings
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    - fields:
      - name: '*name'
        type: char
      - name: '*setfunc'
        type: h2_setsetting_f
      - name: ident
        type: uint16_t
      - name: defval
        type: uint32_t
      - name: minval
        type: uint32_t
      - name: maxval
        type: uint32_t
      - name: range_error
        type: h2_error
      item_type: struct
      name: h2_setting_s
      pos:
        line_end: 107
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    - fields:
      - name: magic
        type: unsigned
      - name: size
        type: unsigned
      - name: tail
        type: uint64_t
      - name: head
        type: uint64_t
      - name: '*stvbuf'
        type: struct stv_buffer
      - name: data[]
        type: uint8_t
      item_type: struct
      name: h2_rxbuf
      pos:
        line_end: 131
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    - fields:
      - name: magic
        type: unsigned
      - name: stream
        type: uint32_t
      - name: scheduled
        type: int
      - name: state
        type: enum h2_stream_e
      - name: counted
        type: int
      - name: '*h2sess'
        type: struct h2_sess
      - name: '*req'
        type: struct req
      - name: t_send
        type: double
      - name: t_winupd
        type: double
      - name: '*cond'
        type: pthread_cond_t
      - name: (h2_req)
        type: VTAILQ_ENTRY
      - name: t_window
        type: int64_t
      - name: r_window
        type: int64_t
      - name: '*wrk'
        type: struct worker
      - name: '*rxbuf'
        type: struct h2_rxbuf
      - name: tx_list
        type: VTAILQ_ENTRY
      - name: error
        type: h2_error
      item_type: struct
      name: h2_req
      pos:
        line_end: 156
        line_start: 133
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    - fields:
      - name: magic
        type: unsigned
      - name: rxthr
        type: pthread_t
      - name: '*cond'
        type: pthread_cond_t
      - name: winupd_cond[1]
        type: pthread_cond_t
      - name: '*sess'
        type: struct sess
      - name: refcnt
        type: int
      - name: open_streams
        type: int
      - name: winup_streams
        type: int
      - name: highest_stream
        type: uint32_t
      - name: goaway
        type: int
      - name: bogosity
        type: int
      - name: do_sweep
        type: int
      - name: '*req0'
        type: struct h2_req
      - name: streams
        type: struct h2_req_s
      - name: '*srq'
        type: struct req
      - name: '*ws'
        type: struct ws
      - name: '*htc'
        type: struct http_conn
      - name: '*vsl'
        type: struct vsl_log
      - name: '*decode'
        type: struct h2h_decode
      - name: dectbl[1]
        type: struct vht_table
      - name: rxf_len
        type: unsigned
      - name: rxf_type
        type: unsigned
      - name: rxf_flags
        type: unsigned
      - name: rxf_stream
        type: unsigned
      - name: '*rxf_data'
        type: uint8_t
      - name: remote_settings
        type: struct h2_settings
      - name: local_settings
        type: struct h2_settings
      - name: '*new_req'
        type: struct req
      - name: t1
        type: vtim_real
      - name: goaway_last_stream
        type: uint32_t
      - name: (,h2_req)
        type: VTAILQ_HEAD
      - name: error
        type: h2_error
      - name: rapid_reset
        type: vtim_dur
      - name: rapid_reset_limit
        type: int64_t
      - name: rapid_reset_period
        type: vtim_dur
      - name: rst_budget
        type: double
      - name: last_rst
        type: vtim_real
      item_type: struct
      name: h2_sess
      pos:
        line_end: 213
        line_start: 160
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    - fields:
      - name: magic
        type: unsigned
      - name: has_authority
        type: unsigned
      - name: has_scheme
        type: unsigned
      - name: error
        type: h2_error
      - name: vhd_ret
        type: enum vhd_ret_e
      - name: '*ws'
        type: struct ws
      - name: '*out'
        type: char
      - name: limit
        type: int64_t
      - name: out_l
        type: size_t
      - name: out_u
        type: size_t
      - name: namelen
        type: size_t
      - name: vhd[1]
        type: struct vhd_decode
      item_type: struct
      name: h2h_decode
      pos:
        line_end: 244
        line_start: 229
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
    typedefs:
    - item_type: typedef
      name: '*h2_error'
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type: h2_error_s
    - item_type: typedef
      name: "h2_rxframe_f(struct worker *, struct h2_sess *,\n    struct h2_req *)"
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type: h2_error
    - item_type: typedef
      name: '*h2_frame'
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type: h2_frame_s
    - item_type: typedef
      name: h2_setsetting_f(struct h2_settings*, uint32_t)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2.h
      type: void
    union: []
- function_names:
  - V2D_Init
  - HPS
  - h2_init
  - h2_fini
  - h2_bytes
  - h2_status
  - h2_minimal_response
  - h2_enc_len
  - h2_build_headers
  - h2_deliver
  source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: idx
        type: uint8_t
      - name: "*\t\tname"
        type: char
      - name: "*\t\tval"
        type: char
      item_type: struct
      name: hpack_static
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_deliver.c
    typedefs: []
    union: []
- function_names:
  - h2_panic_error
  - h2_panic_settings
  - H2_SETTING
  - h2_sess_panic
  - H2_STREAM
  source_file: /src/vinyl-cache/bin/vinyld/http2/cache_http2_panic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STV_GetFile
  - STV_FileSize
  source_file: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: O_LARGEFILE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/storage/stevedore_utils.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - smf_init
  - insfree
  - remfree
  - alloc_smf
  - free_smf
  - new_smf
  - smf_open_chunk
  - smf_open
  - smf_alloc
  - smf_free
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_NOCORE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
      type_or_value: 'MAP_CONCEAL '
    - item_type: preproc_def
      name: MAP_NOCORE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: MAP_NOSYNC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: MINPAGES
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
      type_or_value: '128'
    - item_type: preproc_def
      name: NBUCKET
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
      type_or_value: (128 / 4 + 1)
    - item_type: preproc_def
      name: SMF_MAGIC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
      type_or_value: '0x0927a8a0'
    - item_type: preproc_def
      name: SMF_SC_MAGIC
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
      type_or_value: '0x52962ee7'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: s
        type: struct storage
      - name: '*sc'
        type: struct smf_sc
      - name: alloc
        type: int
      - name: size
        type: off_t
      - name: offset
        type: off_t
      - name: '*ptr'
        type: unsigned char
      - name: order
        type: VTAILQ_ENTRY
      - name: status
        type: VTAILQ_ENTRY
      - name: '*flist'
        type: struct smfhead
      item_type: struct
      name: smf
      pos:
        line_end: 95
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    - fields:
      - name: magic
        type: unsigned
      - name: mtx
        type: struct lock
      - name: '*stats'
        type: struct VSC_smf
      - name: '*filename'
        type: char
      - name: fd
        type: int
      - name: pagesize
        type: unsigned
      - name: filesize
        type: uintmax_t
      - name: advice
        type: int
      - name: order
        type: struct smfhead
      - name: free[NBUCKET]
        type: struct smfhead
      - name: used
        type: struct smfhead
      item_type: struct
      name: smf_sc
      pos:
        line_end: 111
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_file.c
    typedefs: []
    union: []
- function_names:
  - sml_stv_alloc
  - sml_stv_free
  - SML_MkObject
  - SML_allocobj
  - SML_AllocBuf
  - SML_FreeBuf
  - sml_getobj
  - sml_slim
  - OBJ_AUXATTR
  - sml_bocfini
  - sml_objfree
  - sml_ai_viov_fill
  - sml_ai_later_task
  - sml_ai_later
  - sml_ai_buffer
  - VSCARAB_FOREACH
  - sml_ai_lease_simple
  - sml_ai_lease_boc
  - sml_ai_return_buffers
  - VSCARET_FOREACH
  - sml_ai_return
  - VSCARET_FOREACH
  - VSCARET_FOREACH
  - VSCARET_FOREACH
  - sml_ai_notify
  - sml_ai_fini
  - sml_ai_init
  - sml_notify_init
  - sml_notify_fini
  - sml_notify
  - sml_notify_wait
  - SML_iterator
  - VSCARAB_FOREACH
  - VSCARAB_FOREACH_RESUME
  - objallocwithnuke
  - sml_getspace
  - sml_extend
  - sml_trimstore
  - sml_bocdone
  - sml_getattr
  - OBJ_FIXATTR
  - OBJ_VARATTR
  - OBJ_AUXATTR
  - sml_setattr
  - OBJ_FIXATTR
  - OBJ_VARATTR
  - OBJ_AUXATTR
  - sml_panic_st
  - SML_panic
  - OBJ_FIXATTR
  - OBJ_VARATTR
  - OBJ_AUXATTR
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LESS_MEM_ALLOCED_IS_OK
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SML_HDL_MAGIC
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
      type_or_value: '0x37dfd996'
    - item_type: preproc_def
      name: SML_NOTIFY_MAGIC
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
      type_or_value: '0x4589af31'
    structs:
    - fields:
      - name: preamble
        type: struct vai_hdl_preamble
      - name: qe
        type: struct vai_qe
      - name: task
        type: struct pool_task
      - name: '*ws'
        type: struct ws
      - name: '*oc'
        type: struct objcore
      - name: '*obj'
        type: struct object
      - name: '*stv'
        type: struct stevedore
      - name: '*boc'
        type: struct boc
      - name: '*st'
        type: struct storage
      - name: st_off
        type: uint64_t
      - name: avail
        type: uint64_t
      - name: '*last'
        type: struct storage
      item_type: struct
      name: sml_hdl
      pos:
        line_end: 330
        line_start: 313
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    - fields:
      - name: magic
        type: unsigned
      - name: hasmore
        type: unsigned
      - name: mtx
        type: pthread_mutex_t
      - name: cond
        type: pthread_cond_t
      item_type: struct
      name: sml_notify
      pos:
        line_end: 706
        line_start: 700
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.c
    typedefs: []
    union: []
- function_names:
  - STV__iter
  - stv_cli_list
  - stv_cli_list_json
  - STV_Foreach
  - smp_fake_init
  - STV_Register
  - STV_Register_The_Usual_Suspects
  - STV_Config
  - STV_Config_Final
  - STV_Foreach
  - STV_Init
  source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TRANSIENT_STORAGE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
      type_or_value: "\"Transient\"\t// passes"
    - item_type: preproc_def
      name: SYNTH_STORAGE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_stevedore.c
      type_or_value: "\"Synth\"\t\t// vcl_synth resp.body"
    structs: []
    typedefs: []
    union: []
- function_names:
  - SSY_ST_SIZE
  - ssy_objfree
  - ssy_st_alloc
  - ssy_getspace
  - ssy_ai_lease
  - ssy_ai_buffer
  - VSCARAB_FOREACH
  - ssy_ai_return
  - VSCARET_FOREACH
  - ssy_ai_fini
  - ssy_setattr
  - ssy_getattr
  - ssy_ai_init
  - ssy_allocobj
  - ssy_close
  - ssy_open
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSY_ST_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
      type_or_value: '0x236918b3'
    - item_type: preproc_def
      name: SSY_MAGIC
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
      type_or_value: '0xfb41f362'
    - item_type: preproc_def
      name: SSY_F_LEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SSY_HDL_MAGIC
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
      type_or_value: '0x07a0be62'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (ssy_st)
        type: VSTAILQ_ENTRY
      - name: scarab
        type: struct vscarab
      item_type: struct
      name: ssy_st
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    - fields:
      - name: preamble
        type: struct vai_hdl_preamble
      - name: '*st'
        type: struct ssy_st
      - name: '*viov'
        type: struct viov
      item_type: struct
      name: ssy_hdl
      pos:
        line_end: 148
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_synth.c
    typedefs: []
    union: []
- function_names:
  - smu_smu_init
  - smu_smu_constructor
  - smu_smu_destructor
  - smu_alloc
  - smu_free
  - smu_used_space
  - smu_free_space
  - smu_umem_loaded_warn
  - smu_umem_loaded
  - smu_init
  - DLSYM_UMEM
  - smu_open_init
  - DLSYM_UMEM
  - smu_open
  - smu_close
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMU_SC_MAGIC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type_or_value: '0x7695f68e'
    - item_type: preproc_def
      name: SMU_MAGIC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type_or_value: '0x3773300c'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: smu_mtx
        type: struct lock
      - name: smu_max
        type: VCL_BYTES
      - name: smu_alloc
        type: VCL_BYTES
      - name: '*stats'
        type: struct VSC_smu
      - name: '*smu_cache'
        type: umem_cache_t
      item_type: struct
      name: smu_sc
      pos:
        line_end: 64
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    - fields:
      - name: magic
        type: unsigned
      - name: s
        type: struct storage
      - name: sz
        type: size_t
      - name: '*sc'
        type: struct smu_sc
      item_type: struct
      name: smu
      pos:
        line_end: 72
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
    typedefs:
    - item_type: typedef
      name: '* (*umem_alloc_f)(size_t size, int flags)'
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type: void
    - item_type: typedef
      name: (*umem_free_f)(void *buf, size_t size)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type: void
    - item_type: typedef
      name: "* (*umem_cache_create_f)(char *debug_name, size_t bufsize,\n    size_t
        align, umem_constructor_t *constructor,\n    umem_destructor_t *destructor,
        umem_reclaim_t *reclaim,\n    void *callback_data, vmem_t *source, int cflags)"
      pos:
        line_end: 85
        line_start: 82
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type: umem_cache_t
    - item_type: typedef
      name: (*umem_cache_destroy_f)(umem_cache_t *cache)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type: void
    - item_type: typedef
      name: '* (*umem_cache_alloc_f)(umem_cache_t *cache, int flags)'
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type: void
    - item_type: typedef
      name: (*umem_cache_free_f)(umem_cache_t *cache, void *buffer)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_umem.c
      type: void
    union: []
- function_names:
  - sma_alloc
  - sma_free
  - sma_used_space
  - sma_free_space
  - sma_init
  - sma_open
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMA_SC_MAGIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
      type_or_value: '0x1ac8a345'
    - item_type: preproc_def
      name: SMA_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
      type_or_value: '0x69ae9bb9'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: sma_mtx
        type: struct lock
      - name: sma_max
        type: VCL_BYTES
      - name: sma_alloc
        type: VCL_BYTES
      - name: '*stats'
        type: struct VSC_sma
      item_type: struct
      name: sma_sc
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    - fields:
      - name: magic
        type: unsigned
      - name: s
        type: struct storage
      - name: sz
        type: size_t
      - name: '*sc'
        type: struct sma_sc
      item_type: struct
      name: sma
      pos:
        line_end: 63
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_malloc.c
    typedefs: []
    union: []
- function_names:
  - STV_next
  - STV_NewObject
  - STV_AllocBuf
  - STV_FreeBuf
  - STV_GetBufPtr
  - STV_open
  - STV_Foreach
  - STV_warn
  - STV_close
  - STV_BanInfoDrop
  - STV_BanInfoNew
  - STV_BanExport
  - stv_find
  - VRT_STEVEDORE_string
  - VRT_stevedore
  - VRTSTVVAR
  source_file: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STV_BUFFER_MAGIC
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
      type_or_value: '0xf39cb6c2'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*stv'
        type: struct stevedore
      - name: size
        type: size_t
      - name: priv
        type: uintptr_t
      item_type: struct
      name: stv_buffer
      pos:
        line_end: 110
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyld/storage/stevedore.c
    typedefs: []
    union: []
- function_names:
  - smp_appendban
  - smp_baninfo
  - smp_banexport_spc
  - smp_banexport
  - smp_open_bans
  - smp_open_segs
  - smp_thread
  - smp_open
  - smp_close
  - smp_allocx
  - smp_allocobj
  - smp_alloc
  - debug_report_silo
  - debug_persistent
  - smp_init
  - SMP_Ready
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smp_metrics
  - smp_mgt_init
  - SIZOF
  source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_NOCORE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
      type_or_value: 'MAP_CONCEAL '
    - item_type: preproc_def
      name: MAP_NOCORE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: MAP_NOSYNC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyld/storage/mgt_storage_persistent.c
      type_or_value: '0 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - lru_get
  - LRU_Alloc
  - LRU_Free
  - LRU_Add
  - LRU_Remove
  - LRU_Touch
  - LRU_NukeOne
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LRU_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
      type_or_value: '0x3fec7bb0'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (,objcore)
        type: VTAILQ_HEAD
      - name: mtx
        type: struct lock
      item_type: struct
      name: lru
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_lru.c
    typedefs: []
    union: []
- function_names:
  - smp_save_seg
  - smp_save_segs
  - smp_load_seg
  - smp_new_seg
  - smp_close_seg
  - smp_find_so
  - smp_loaded_st
  - fix_ptr
  - smp_sml_getobj
  - smp_oc_objfree
  - smp_init_oc
  - smp_oc_event
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NEED_FIXUP
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_silo.c
      type_or_value: (1U << 31)
    structs: []
    typedefs: []
    union: []
- function_names:
  - smp_def_sign
  - smp_chk_sign
  - smp_append_sign
  - smp_reset_sign
  - smp_sync_sign
  - smp_new_sign
  - smp_def_signspace
  - smp_chk_signspace
  - smp_append_signspace
  - smp_reset_signspace
  - smp_copy_signspace
  - smp_new_signspace
  - smp_msync
  - smp_newsilo
  - smp_valid_silo
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent_subr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ASSERT_SILO_THREAD
  - PRNUP
  - IRNDN
  - IRNUP
  - IASSERTALIGN
  - ASSERT_PTR_IN_SILO
  - SIGN_DATA
  - SIGN_END
  - SIGNSPACE_DATA
  - SIGNSPACE_FRONT
  - SIGNSPACE_LEN
  - SIGNSPACE_FREE
  - smp_stuff_len
  - smp_segend
  - smp_spaceleft
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SMP_BAN1_STUFF
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '0'
    - item_type: preproc_def
      name: SMP_BAN2_STUFF
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SMP_SEG1_STUFF
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SMP_SEG2_STUFF
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '3'
    - item_type: preproc_def
      name: SMP_SPC_STUFF
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SMP_END_STUFF
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SMP_IDENT_SIZE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '112'
    - item_type: preproc_def
      name: SMP_IDENT_STRING
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '"Varnish Persistent Storage Silo"'
    - item_type: preproc_def
      name: SMP_SIGN_SPACE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: (sizeof(struct smp_sign) + VSHA256_LEN)
    - item_type: preproc_def
      name: SMP_SEG_MAGIC
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '0x45c61895'
    - item_type: preproc_def
      name: SMP_SEG_MUSTLOAD
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SMP_SEG_LOADED
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: SMP_SC_MAGIC
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: '0x7b73af0a'
    - item_type: preproc_def
      name: SMP_SC_LOADED
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SMP_SC_STOP
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
      type_or_value: (1 << 1)
    structs:
    - fields:
      - name: ident[32]
        type: char
      - name: byte_order
        type: uint32_t
      - name: size
        type: uint32_t
      - name: major_version
        type: uint32_t
      - name: unique
        type: uint32_t
      - name: align
        type: uint32_t
      - name: granularity
        type: uint32_t
      - name: mediasize
        type: uint64_t
      - name: stuff[6]
        type: uint64_t
      item_type: struct
      name: smp_ident
      pos:
        line_end: 103
        line_start: 75
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - fields:
      - name: ident[8]
        type: char
      - name: unique
        type: uint32_t
      - name: mapped
        type: uint64_t
      - name: length
        type: uint64_t
      item_type: struct
      name: smp_sign
      pos:
        line_end: 124
        line_start: 117
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - fields:
      - name: offset
        type: uint64_t
      - name: length
        type: uint64_t
      - name: objlist
        type: uint64_t
      - name: lobjlist
        type: uint32_t
      item_type: struct
      name: smp_segptr
      pos:
        line_end: 137
        line_start: 132
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - fields:
      - name: hash[32]
        type: uint8_t
      - name: t_origin
        type: double
      - name: ttl
        type: float
      - name: grace
        type: float
      - name: keep
        type: float
      - name: __filler__
        type: uint32_t
      - name: ban
        type: double
      - name: ptr
        type: uint64_t
      item_type: struct
      name: smp_object
      pos:
        line_end: 155
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - fields:
      - name: '*ss'
        type: struct smp_sign
      - name: ctx
        type: struct VSHA256Context
      - name: unique
        type: uint32_t
      - name: '*id'
        type: char
      item_type: struct
      name: smp_signctx
      pos:
        line_end: 175
        line_start: 170
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - fields:
      - name: ctx
        type: struct smp_signctx
      - name: '*start'
        type: uint8_t
      - name: size
        type: uint64_t
      item_type: struct
      name: smp_signspace
      pos:
        line_end: 190
        line_start: 186
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*sc'
        type: struct smp_sc
      - name: (,objcore)
        type: VTAILQ_HEAD
      - name: (smp_seg)
        type: VTAILQ_ENTRY
      - name: p
        type: struct smp_segptr
      - name: flags
        type: unsigned
      - name: nobj
        type: uint32_t
      - name: nalloc
        type: uint32_t
      - name: nfixed
        type: uint32_t
      - name: '*objs'
        type: struct smp_object
      - name: ctx[1]
        type: struct smp_signctx
      item_type: struct
      name: smp_seg
      pos:
        line_end: 217
        line_start: 195
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*parent'
        type: struct stevedore
      - name: bgthread
        type: pthread_t
      - name: flags
        type: unsigned
      - name: '*stevedore'
        type: struct stevedore
      - name: fd
        type: int
      - name: '*filename'
        type: char
      - name: mediasize
        type: uint64_t
      - name: align
        type: uintptr_t
      - name: granularity
        type: uint32_t
      - name: unique
        type: uint32_t
      - name: '*base'
        type: uint8_t
      - name: '*ident'
        type: struct smp_ident
      - name: segments
        type: struct smp_seghead
      - name: '*cur_seg'
        type: struct smp_seg
      - name: next_bot
        type: uint64_t
      - name: next_top
        type: uint64_t
      - name: free_offset
        type: uint64_t
      - name: thread
        type: pthread_t
      - name: (smp_sc)
        type: VTAILQ_ENTRY
      - name: idn
        type: struct smp_signctx
      - name: ban1
        type: struct smp_signspace
      - name: ban2
        type: struct smp_signspace
      - name: seg1
        type: struct smp_signspace
      - name: seg2
        type: struct smp_signspace
      - name: mtx
        type: struct lock
      - name: min_nseg
        type: unsigned
      - name: aim_nseg
        type: unsigned
      - name: max_nseg
        type: unsigned
      - name: min_segl
        type: uint64_t
      - name: aim_segl
        type: uint64_t
      - name: max_segl
        type: uint64_t
      - name: free_reserve
        type: uint64_t
      item_type: struct
      name: smp_sc
      pos:
        line_end: 273
        line_start: 221
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_persistent.h
    typedefs: []
    union: []
- function_names:
  - OBJ_FIXATTR
  - OBJ_VARATTR
  - OBJ_VARATTR
  - OBJ_AUXATTR
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STORAGE_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
      type_or_value: '0x1a4e51c0'
    - item_type: preproc_def
      name: STORAGE_F_BUFFER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OBJECT_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
      type_or_value: '0x32851d42'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: flags
        type: unsigned
      - name: (storage)
        type: VTAILQ_ENTRY
      - name: '*priv'
        type: void
      - name: '*ptr'
        type: unsigned char
      - name: len
        type: unsigned
      - name: space
        type: unsigned
      item_type: struct
      name: storage
      pos:
        line_end: 49
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*objstore'
        type: struct storage
      - name: list
        type: struct storagehead
      item_type: struct
      name: object
      pos:
        line_end: 80
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage_simple.h
    typedefs: []
    union: []
- function_names:
  - smd_lsp_getspace
  - smd_max_getspace
  - smd_max_extend
  - smd_full_getspace
  - smd_full_allocobj
  - dur_arg
  - bytes_arg
  - smd_open
  - smd_init
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage_debug.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VRTSTVVAR
  - ptr2lease
  - lease2ptr
  - VRTSTVVAR
  - STV_Foreach
  source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
  types:
    enum:
    - enumerators:
      - name: BI_NEW
      - name: BI_DROP
      item_type: enum
      name: baninfo
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
    preproc_defs:
    - item_type: preproc_def
      name: STEVEDORE_MAGIC
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type_or_value: '0x4baf43db'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*init'
        type: storage_init_f
      - name: '*open'
        type: storage_open_f
      - name: '*close'
        type: storage_close_f
      - name: '*allocobj'
        type: storage_allocobj_f
      - name: '*baninfo'
        type: storage_baninfo_f
      - name: '*banexport'
        type: storage_banexport_f
      - name: '*panic'
        type: storage_panic_f
      - name: '*allocbuf'
        type: storage_allocbuf_f
      - name: '*freebuf'
        type: storage_freebuf_f
      - name: '*sml_alloc'
        type: sml_alloc_f
      - name: '*sml_free'
        type: sml_free_f
      - name: '*sml_getobj'
        type: sml_getobj_f
      - name: '*methods'
        type: struct obj_methods
      - name: '*lru'
        type: struct lru
      - name: '*priv'
        type: void
      - name: (stevedore)
        type: VTAILQ_ENTRY
      - name: '**av'
        type: char
      - name: '*ident'
        type: char
      - name: '*vclname'
        type: char
      item_type: struct
      name: stevedore
      pos:
        line_end: 142
        line_start: 102
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
    typedefs:
    - item_type: typedef
      name: storage_init_f(struct stevedore *, int ac, char * const *av)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    - item_type: typedef
      name: storage_open_f(struct stevedore *)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    - item_type: typedef
      name: "storage_allocobj_f(struct worker *, const struct stevedore *,\n    struct
        objcore *, unsigned)"
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: int
    - item_type: typedef
      name: storage_close_f(const struct stevedore *, int pass)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    - item_type: typedef
      name: "storage_baninfo_f(const struct stevedore *, enum baninfo event,\n    const
        uint8_t *ban, unsigned len)"
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: int
    - item_type: typedef
      name: "storage_banexport_f(const struct stevedore *, const uint8_t *bans,\n
        \   unsigned len)"
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    - item_type: typedef
      name: storage_panic_f(struct vsb *vsb, const struct objcore *oc)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    - item_type: typedef
      name: "*storage_allocbuf_f(struct worker *, const struct stevedore *,\n    size_t
        size, uintptr_t *ppriv)"
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    - item_type: typedef
      name: "storage_freebuf_f(struct worker *, const struct stevedore *,\n    uintptr_t
        priv)"
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    - item_type: typedef
      name: '*sml_getobj_f(struct worker *, struct objcore *)'
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: object
    - item_type: typedef
      name: '*sml_alloc_f(const struct stevedore *, size_t size)'
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: storage
    - item_type: typedef
      name: sml_free_f(struct storage *)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyld/storage/storage.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vgz.h
  types:
    enum:
    - enumerators:
      - name: VGZ_ERROR
        value: '-1'
      - name: VGZ_END
        value: '1'
      - name: VGZ_OK
        value: '0'
      - name: VGZ_STUCK
        value: '2'
      item_type: enum
      name: vgzret_e
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vgz.h
    - enumerators:
      - name: VGZ_NORMAL
      - name: VGZ_RESET
      - name: VGZ_ALIGN
      - name: VGZ_FINISH
      item_type: enum
      name: vgz_flag
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vgz.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VRY_Create
  - VRY_Len
  - vry_cmp
  - VRY_Prep
  - VRY_Clear
  - VRY_Finish
  - VRY_Match
  - VRY_Validate
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vary.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ws_emu
  - WS_Assert
  - WS_Allocated
  - WS_Init
  - ws_alloc_free
  - WS_Reset
  - WS_Pipeline
  - ws_emu_alloc
  - WS_Alloc
  - WS_Copy
  - WS_Snapshot
  - WS_ReserveAll
  - WS_ReserveSize
  - ws_release
  - WS_Release
  - WS_ReleaseP
  - WS_AtOffset
  - WS_ReservationOffset
  - WS_Dump
  - ws_emu_panic
  - WS_Panic
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS_ALLOC_MAGIC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
      type_or_value: '0x22e7fd05'
    - item_type: preproc_def
      name: WS_EMU_MAGIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
      type_or_value: '0x1c89b6ab'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: 'off'
        type: unsigned
      - name: len
        type: unsigned
      - name: '*ptr'
        type: char
      - name: (ws_alloc)
        type: VTAILQ_ENTRY
      item_type: struct
      name: ws_alloc
      pos:
        line_end: 50
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    - fields:
      - name: magic
        type: unsigned
      - name: len
        type: unsigned
      - name: '*ws'
        type: struct ws
      - name: head
        type: struct ws_alloc_head
      item_type: struct
      name: ws_emu
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_emu.c
    typedefs: []
    union: []
- function_names:
  - wrk_bgthread
  - WRK_BgThread
  - WRK_Thread
  - wrk_addstat
  - WRK_AddStat
  - pool_reserve
  - pool_getidleworker
  - Pool_Task_Arg
  - Pool_Task
  - pool_kiss_of_death
  - Pool_Work_Thread
  - pool_thread
  - pool_breed
  - pool_herder
  - debug_reqpoolfail
  - WRK_Log
  - WRK_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BGTHREAD_MAGIC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
      type_or_value: '0x23b5152b'
    - item_type: preproc_def
      name: POOL_INFO_MAGIC
      pos:
        line_end: 517
        line_start: 516
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
      type_or_value: '0x4e4442d3'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*func'
        type: bgthread_t
      - name: '*priv'
        type: void
      item_type: struct
      name: bgthread
      pos:
        line_end: 82
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    - fields:
      - name: magic
        type: unsigned
      - name: stacksize
        type: size_t
      - name: '*qp'
        type: struct pool
      item_type: struct
      name: pool_info
      pos:
        line_end: 519
        line_start: 514
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_wrk.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_pool.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POOL_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_pool.h
      type_or_value: '0x606658fa'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ASSERT_VCL_ACTIVE
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VDIRE_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
      type_or_value: '0x51748697'
    - item_type: preproc_def
      name: VCL_MAGIC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
      type_or_value: '0x214188f2'
    - item_type: preproc_def
      name: VCLREF_MAGIC
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
      type_or_value: '0x47fb6848'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: iterating
        type: unsigned
      - name: directors
        type: struct vcldir_head
      - name: resigning
        type: struct vcldir_head
      - name: '*mtx'
        type: struct lock
      - name: cond
        type: pthread_cond_t
      - name: '**tempp'
        type: struct vcltemp
      - name: '*checkpoint'
        type: struct vcldir
      item_type: struct
      name: vdire
      pos:
        line_end: 54
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*vcl'
        type: struct vcl
      - name: (vclref)
        type: VTAILQ_ENTRY
      - name: '*desc'
        type: char
      item_type: struct
      name: vclref
      pos:
        line_end: 81
        line_start: 75
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
    - fields:
      - name: "* const\tname"
        type: char
      - name: is_warm
        type: unsigned
      - name: is_cold
        type: unsigned
      item_type: struct
      name: vcltemp
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.h
    typedefs: []
    union: []
- function_names:
  - metaban_cmp
  - BANIDX_lookup
  - BANIDX_fini
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BANIDX_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c
      type_or_value: '0x39b799f8'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (metaban)
        type: VRBT_ENTRY
      - name: time
        type: vtim_real
      - name: '*ban'
        type: struct ban
      item_type: struct
      name: metaban
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_idx.c
    typedefs: []
    union: []
- function_names:
  - BAN_OPERIDX
  - ASSERT_BAN_OPER
  - BAN_ARGIDX
  - ASSERT_BAN_ARG
  - BANS_HAS_ARG1_SPEC
  - BANS_HAS_ARG2_SPEC
  - BANS_HAS_ARG2_DOUBLE
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BANS_TIMESTAMP
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0'
    - item_type: preproc_def
      name: BANS_LENGTH
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '8'
    - item_type: preproc_def
      name: BANS_FLAGS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '12'
    - item_type: preproc_def
      name: BANS_HEAD_LEN
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '16'
    - item_type: preproc_def
      name: BANS_FLAG_REQ
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: BANS_FLAG_OBJ
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: BANS_FLAG_COMPLETED
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: BANS_FLAG_HTTP
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: BANS_FLAG_DURATION
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: BANS_FLAG_NODEDUP
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: BANS_OPER_EQ
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: BANS_OPER_OFF_
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: BANS_OPER_EQ
    - item_type: preproc_def
      name: BANS_OPER_NEQ
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x11'
    - item_type: preproc_def
      name: BANS_OPER_MATCH
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x12'
    - item_type: preproc_def
      name: BANS_OPER_NMATCH
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x13'
    - item_type: preproc_def
      name: BANS_OPER_GT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x14'
    - item_type: preproc_def
      name: BANS_OPER_GTE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x15'
    - item_type: preproc_def
      name: BANS_OPER_LT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x16'
    - item_type: preproc_def
      name: BANS_OPER_LTE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x17'
    - item_type: preproc_def
      name: BANS_OPER_LIM_
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (BANS_OPER_LTE + 1)
    - item_type: preproc_def
      name: BAN_OPERARRSZ
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (BANS_OPER_LIM_ - BANS_OPER_OFF_)
    - item_type: preproc_def
      name: BANS_ARG_URL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x18'
    - item_type: preproc_def
      name: BANS_ARG_OFF_
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: BANS_ARG_URL
    - item_type: preproc_def
      name: BANS_ARG_REQHTTP
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x19'
    - item_type: preproc_def
      name: BANS_ARG_OBJHTTP
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x1a'
    - item_type: preproc_def
      name: BANS_ARG_OBJSTATUS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x1b'
    - item_type: preproc_def
      name: BANS_ARG_OBJTTL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x1c'
    - item_type: preproc_def
      name: BANS_ARG_OBJAGE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x1d'
    - item_type: preproc_def
      name: BANS_ARG_OBJGRACE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x1e'
    - item_type: preproc_def
      name: BANS_ARG_OBJKEEP
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x1f'
    - item_type: preproc_def
      name: BANS_ARG_OBJLASTHIT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: BANS_ARG_LIM
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (BANS_ARG_OBJLASTHIT + 1)
    - item_type: preproc_def
      name: BAN_ARGARRSZ
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: (BANS_ARG_LIM - BANS_ARG_OFF_)
    - item_type: preproc_def
      name: BAN_MAGIC
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
      type_or_value: '0x700b08ea'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: flags
        type: unsigned
      - name: (ban)
        type: VTAILQ_ENTRY
      - name: l_list
        type: VTAILQ_ENTRY
      - name: refcount
        type: int64_t
      - name: (,objcore)
        type: VTAILQ_HEAD
      - name: '*spec'
        type: uint8_t
      item_type: struct
      name: ban
      pos:
        line_end: 133
        line_start: 123
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.h
    typedefs: []
    union: []
- function_names:
  - strands_len
  - strands_cat
  - vsl_sanity
  - vsl_tag_is_masked
  - VSL_tag_is_masked
  - vsl_hdr
  - vsl_space
  - vsl_wrap
  - vsl_get
  - vslr
  - VSLv
  - VSLs
  - VSL
  - VSL_Flush
  - vslb_get
  - vslb_simple
  - VSLbt
  - VSLbs
  - VSLbv
  - VSLb
  - Ta6
  - VSLb_ts
  - VSLb_bin
  - VSL_Init
  - VSL_Alloc
  - VSL_Free
  - VSL_ChgId
  - VSL_End
  - vsm_vsc_lock
  - vsm_vsc_unlock
  - vsm_vsmw_lock
  - vsm_vsmw_unlock
  - VSM_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Tf6
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_shmlog.c
      type_or_value: '"%ju.%06ju"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - pan_privs
  - VRBT_FOREACH
  - VRTPRIV_init
  - vrt_priv_dyncmp
  - vrt_priv_dynamic_get
  - vrt_priv_dynamic
  - vrt_priv_task_context
  - VRT_priv_task_get
  - VRT_priv_task
  - VRT_PRIV_TOP_PREP
  - VRT_priv_top_get
  - VRT_priv_top
  - VRT_priv_fini
  - VCL_TaskEnter
  - VCL_TaskLeave
  - VRBT_FOREACH_SAFE
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
  types:
    enum:
    - enumerators:
      - name: VRT_PRIV_ST_WS
        value: '1'
      - name: VRT_PRIV_ST_HEAP
      item_type: enum
      name: vrt_priv_storage_e
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    preproc_defs:
    - item_type: preproc_def
      name: VRT_PRIV_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
      type_or_value: '0x24157a52'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: storage
        type: enum vrt_priv_storage_e
      - name: (vrt_priv)
        type: VRBT_ENTRY
      - name: priv[1]
        type: struct vmod_priv
      - name: vmod_id
        type: uintptr_t
      item_type: struct
      name: vrt_priv
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_priv.c
    typedefs: []
    union: []
- function_names:
  - obj_getmethods
  - obj_newboc
  - obj_deleteboc
  - ObjNew
  - ObjDestroy
  - ObjIterate
  - ObjVAIinit
  - ObjVAIlease
  - ObjVAIbuffer
  - ObjVAIreturn
  - ObjVAInotify
  - ObjVAIfini
  - ObjGetSpace
  - obj_extend_condwait
  - obj_boc_notify
  - ObjExtend
  - objSignalFetchLocked
  - ObjWaitExtend
  - ObjVAIGetExtend
  - ObjVAICancel
  - ObjSetState
  - ObjWaitState
  - ObjGetLen
  - ObjSlim
  - ObjBocDone
  - ObjFreeObj
  - ObjHasAttr
  - ObjGetAttr
  - ObjSetAttr
  - ObjTouch
  - ObjCopyAttr
  - ObjSetXID
  - ObjGetXID
  - ObjSetDouble
  - ObjGetDouble
  - ObjSetU64
  - ObjGetU64
  - ObjCheckFlag
  - ObjSetFlag
  - ObjSubscribeEvents
  - ObjUnsubscribeEvents
  - ObjSendEvent
  - ObjInit
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OEV_MAGIC
      pos:
        line_end: 892
        line_start: 891
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
      type_or_value: '0xb0b7c5a1'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: mask
        type: unsigned
      - name: '*func'
        type: obj_event_f
      - name: '*priv'
        type: void
      - name: (oev_entry)
        type: VTAILQ_ENTRY
      item_type: struct
      name: oev_entry
      pos:
        line_end: 896
        line_start: 889
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.c
    typedefs: []
    union: []
- function_names:
  - VBO_Init
  - VBO_GetBusyObj
  - VBO_ReleaseBusyObj
  - VBO_SetState
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_busyobj.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BACKEND_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.h
      type_or_value: '0x64c4c7c6'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: n_conn
        type: unsigned
      - name: '*endpoint'
        type: struct vrt_endpoint
      - name: sick
        type: unsigned
      - name: changed
        type: vtim_real
      - name: '*probe'
        type: struct vbp_target
      - name: '*vsc_seg'
        type: struct vsc_seg
      - name: '*vsc'
        type: struct VSC_vbe
      - name: '*conn_pool'
        type: struct conn_pool
      - name: director
        type: VCL_BACKEND
      - name: (, connwait)
        type: VTAILQ_HEAD
      - name: cw_count
        type: unsigned
      item_type: struct
      name: backend
      pos:
        line_end: 75
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.h
    typedefs: []
    union: []
- function_names:
  - VFP_Error
  - VFP_GetStorage
  - VFP_Extend
  - VFP_Setup
  - VFP_Close
  - VFP_Open
  - VFP_Suck
  - VFP_Push
  - debug_fragfetch
  - VFP_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch_proc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - WS_Id
  - WS_MarkOverflow
  - ws_ClearOverflow
  - WS_Overflowed
  - WS_Rollback
  - WS_Printf
  - WS_VSB_new
  - WS_VSB_finish
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCF_RETURN
  - hsh_initobjhead
  - hsh_newobjhead
  - hsh_prealloc
  - fib
  - HSH_Private
  - HSH_Cleanup
  - HSH_DeleteObjHead
  - HSH_AddString
  - hsh_testmagic
  - HSH_Insert
  - hsh_insert_busyobj
  - hsh_vry_match
  - hsh_rush_match
  - HSH_Lookup
  - hsh_rush1
  - hsh_rush2
  - HSH_Purge
  - HSH_Fail
  - hsh_cancel
  - HSH_Cancel
  - HSH_Withdraw
  - HSH_Unbusy
  - HSH_Kill
  - HSH_Replace
  - HSH_Snipe
  - HSH_Ref
  - HSH_RefBoc
  - HSH_DerefBoc
  - HSH_DerefObjCore
  - hsh_deref_objcore_unlock
  - hsh_deref_objhead_unlock
  - hsh_deref_objhead
  - HSH_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RUSH_MAGIC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
      type_or_value: '0xa1af5f01'
    - item_type: preproc_def
      name: PRIVATE_OH_EXP
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
      type_or_value: '7'
    - item_type: preproc_def
      name: HSH_NMAGIC
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
      type_or_value: vcountof(hsh_magiclist)
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (,req)
        type: VTAILQ_HEAD
      item_type: struct
      name: rush
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    - fields:
      - name: was[VSHA256_LEN]
        type: unsigned char
      - name: now[VSHA256_LEN]
        type: unsigned char
      item_type: struct
      name: hsh_magiclist
      pos:
        line_end: 237
        line_start: 234
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_hash.c
    typedefs: []
    union: []
- function_names:
  - vrg_range_fini
  - vrg_range_bytes
  - vrg_dorange
  - vrg_ifrange
  - vrg_range_init
  - vrg_range_io_upgrade
  - vrg_range_io_lease
  - VSCARAB_FOREACH
  - VSCARAB_FOREACH
  - vrg_range_io_fini
  - VRG_CheckBo
  - RANGE_CHECK
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRG_PRIV_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
      type_or_value: '0xb886e711'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*req'
        type: struct req
      - name: range_low
        type: ssize_t
      - name: range_high
        type: ssize_t
      - name: range_off
        type: ssize_t
      item_type: struct
      name: vrg_priv
      pos:
        line_end: 48
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_range.c
    typedefs: []
    union: []
- function_names:
  - SESS_CLOSE
  - SES_SetTransport
  - ses_get_attr
  - ses_set_attr
  - ses_res_attr
  - SESS_ATTR
  - SES_Set_String_Attr
  - SES_Get_String_Attr
  - HTC_Status
  - HTC_STATUS
  - HTC_RxInit
  - HTC_RxPipeline
  - HTC_RxStuff
  - SES_New
  - ses_handle
  - SES_Wait
  - ses_close_acct
  - SESS_CLOSE
  - SES_Close
  - SES_Delete
  - SES_DeleteHS
  - SES_Ref
  - SES_Rel
  - SES_NewPool
  - SES_DestroyPool
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SES_NOATTR_OFFSET
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
      type_or_value: '0xffff'
    structs:
    - fields:
      - name: '*type'
        type: char
      item_type: struct
      name: 'sess_attr[SA_LAST] = {

        #define SESS_ATTR(UC, lc, typ, len) [SA_##UC] = { #typ },

        #include "tbl/sess_attr.h"

        }'
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_session.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VEC_GZ
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x21)
    - item_type: preproc_def
      name: VEC_V1
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x40 + 1)
    - item_type: preproc_def
      name: VEC_V2
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x40 + 2)
    - item_type: preproc_def
      name: VEC_V8
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x40 + 8)
    - item_type: preproc_def
      name: VEC_C1
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x50 + 1)
    - item_type: preproc_def
      name: VEC_C2
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x50 + 2)
    - item_type: preproc_def
      name: VEC_C8
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x50 + 8)
    - item_type: preproc_def
      name: VEC_S1
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x60 + 1)
    - item_type: preproc_def
      name: VEC_S2
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x60 + 2)
    - item_type: preproc_def
      name: VEC_S8
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x60 + 8)
    - item_type: preproc_def
      name: VEC_IA
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x40 + 9)
    - item_type: preproc_def
      name: VEC_IC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type_or_value: (0x60 + 9)
    structs: []
    typedefs:
    - item_type: typedef
      name: "vep_callback_t(struct vfp_ctx *, void *priv, ssize_t l,\n    enum vgz_flag
        flg)"
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi.h
      type: ssize_t
    union: []
- function_names:
  - TRANSPORT_MACRO
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
  types:
    enum:
    - enumerators:
      - name: VTR_D_INVAL
        value: '0'
      - name: VTR_D_DISEMBARK
      - name: VTR_D_DONE
        value: '1'
      item_type: enum
      name: vtr_deliver_e
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
    preproc_defs:
    - item_type: preproc_def
      name: TRANSPORT_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type_or_value: '0xf157f32f'
    - item_type: preproc_def
      name: TRANSPORTS
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type_or_value: "TRANSPORT_MACRO(PROXY) \\\n\tTRANSPORT_MACRO(HTTP1) \\\n\tTRANSPORT_MACRO(HTTP2)"
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: number
        type: uint16_t
      - name: '*proto_ident'
        type: char
      - name: '*name'
        type: char
      - name: '*new_session'
        type: task_func_t
      - name: '*unwait'
        type: task_func_t
      - name: '*req_fail'
        type: vtr_req_fail_f
      - name: '*req_body'
        type: vtr_req_body_f
      - name: '*deliver'
        type: vtr_deliver_f
      - name: '*sess_panic'
        type: vtr_sess_panic_f
      - name: '*req_panic'
        type: vtr_req_panic_f
      - name: '*reembark'
        type: vtr_reembark_f
      - name: '*poll'
        type: vtr_poll_f
      - name: '*minimal_response'
        type: vtr_minimal_response_f
      - name: (transport)
        type: VTAILQ_ENTRY
      item_type: struct
      name: transport
      pos:
        line_end: 77
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
    typedefs:
    - item_type: typedef
      name: vtr_deliver_f (struct req *, int sendbody)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: vtr_deliver_e
    - item_type: typedef
      name: vtr_req_body_f (struct req *)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: void
    - item_type: typedef
      name: vtr_sess_panic_f (struct vsb *, const struct sess *)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: void
    - item_type: typedef
      name: vtr_req_panic_f (struct vsb *, const struct req *)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: void
    - item_type: typedef
      name: vtr_req_fail_f (struct req *, stream_close_t)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: void
    - item_type: typedef
      name: vtr_reembark_f (struct worker *, struct req *)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: void
    - item_type: typedef
      name: vtr_poll_f (struct req *)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: int
    - item_type: typedef
      name: vtr_minimal_response_f (struct req *, uint16_t status)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_transport.h
      type: int
    union: []
- function_names:
  - vrb_pull
  - VRB_Iterate
  - httpq_req_body_discard
  - VRB_Ignore
  - VRB_Free
  - VRB_Cache
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_body.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_dup_filter
  - VTAILQ_FOREACH
  - vrt_addfilter
  - VRT_AddFilter
  - VRT_RemoveFilter
  - VTAILQ_FOREACH
  - vcl_filter_list_iter
  - VTAILQ_FOREACH
  - VTAILQ_FOREACH
  - VCL_StackVFP
  - VCL_StackVDP
  - VCL_VRT_Init
  - filter_on_ws
  - vbf_default_filter_list
  - VBF_Get_Filter_List
  - bereq_Empty_Filter
  - resp_default_filter_list
  - resp_Get_Filter_List
  - req_Empty_Filter
  - req_filter_can
  - FILTER_VAR
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VFILTER_MAGIC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
      type_or_value: '0xd40894e9'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vfp'
        type: struct vfp
      - name: '*vdp'
        type: struct vdp
      - name: '*name'
        type: char
      - name: nlen
        type: int
      - name: (vfilter)
        type: VTAILQ_ENTRY
      item_type: struct
      name: vfilter
      pos:
        line_end: 57
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
    typedefs:
    - item_type: typedef
      name: filter_list_t(void *, struct vsb *vsb)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_filter.c
      type: void
    union: []
- function_names:
  - rfc2616_time
  - RFC2616_Ttl
  - RFC2616_Req_Gzip
  - rfc2616_strong_compare
  - rfc2616_weak_compare
  - RFC2616_Do_Cond
  - RFC2616_Weaken_Etag
  - RFC2616_Vary_AE
  - RFC2616_Strong_LM
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_rfc2616.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PFD_State
  - PFD_Fd
  - PFD_Age
  - PFD_Reused
  - PFD_LocalName
  - PFD_RemoteName
  - vcp_cmp
  - vcp_handle
  - VCP_AddRef
  - vcp_destroy
  - VCP_Rel
  - VCP_RelPoll
  - VCP_Recycle
  - VCP_Open
  - VCP_Close
  - VCP_Get
  - VCP_Wait
  - VCP_GetIp
  - vcp_panic_endpoint
  - VCP_Panic
  - VCP_Init
  - tmo2msec
  - vtp_open
  - vtp_close
  - vtp_local_name
  - vtp_remote_name
  - vus_open
  - vus_name
  - VCP_Ref
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PFD_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
      type_or_value: '0x0c5e6593'
    - item_type: preproc_def
      name: CONN_POOL_MAGIC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
      type_or_value: '0x85099bc3'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: fd
        type: int
      - name: (pfd)
        type: VTAILQ_ENTRY
      - name: addr
        type: VCL_IP
      - name: state
        type: uint8_t
      - name: waited[1]
        type: struct waited
      - name: '*conn_pool'
        type: struct conn_pool
      - name: '*cond'
        type: pthread_cond_t
      - name: created
        type: vtim_mono
      - name: reused
        type: uint64_t
      item_type: struct
      name: pfd
      pos:
        line_end: 71
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - fields:
      - name: '*open'
        type: cp_open_f
      - name: '*close'
        type: cp_close_f
      - name: '*local_name'
        type: cp_name_f
      - name: '*remote_name'
        type: cp_name_f
      item_type: struct
      name: cp_methods
      pos:
        line_end: 85
        line_start: 80
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*methods'
        type: struct cp_methods
      - name: '*endpoint'
        type: struct vrt_endpoint
      - name: ident[VSHA256_DIGEST_LENGTH]
        type: char
      - name: (conn_pool)
        type: VRBT_ENTRY
      - name: refcnt
        type: int
      - name: mtx
        type: struct lock
      - name: connlist
        type: VTAILQ_HEAD
      - name: n_conn
        type: int
      - name: n_kill
        type: int
      - name: n_used
        type: int
      - name: holddown
        type: vtim_mono
      - name: holddown_errno
        type: int
      item_type: struct
      name: conn_pool
      pos:
        line_end: 109
        line_start: 87
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
    typedefs:
    - item_type: typedef
      name: cp_open_f(const struct conn_pool *, vtim_dur tmo, VCL_IP *ap)
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
      type: int
    - item_type: typedef
      name: cp_close_f(struct pfd *)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
      type: void
    - item_type: typedef
      name: cp_name_f(const struct pfd *, char *, unsigned, char *, unsigned)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.c
      type: void
    union: []
- function_names:
  - boc_state_2str
  - BOC_STATE
  - pan_stream_close
  - pan_storage
  - PAN__DumpStruct
  - pan_htc
  - pan_http
  - pan_boc
  - pan_objcore
  - OC_FLAG
  - OC_EXP_FLAG
  - pan_wrk
  - pan_vfp
  - pan_busyobj
  - BERESP_FLAG
  - BEREQ_FLAG
  - pan_top
  - pan_req
  - REQ_FLAG
  - pan_addr
  - pan_sess
  - pan_backtrace
  - pan_threadattr
  - pan_argv
  - pan_ic
  - ccf_panic
  - PAN_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_ALREADY
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_panic.c
      type_or_value: '256'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ban_kick_lurker
  - ban_cleantail
  - ban_lurker_getfirst
  - ban_lurker_test_ban
  - VTAILQ_FOREACH_REVERSE_SAFE
  - ban_lurker_work
  - ban_lurker
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_lurker.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VBE_AHEALTH
  - vdi_str2ahealth
  - VBE_AHEALTH
  - VDI_Ahealth
  - VRT_DirectorResolve
  - VDI_Resolve
  - VDI_GetHdr
  - VDI_GetIP
  - VDI_Finish
  - VDI_Http1Pipe
  - VRT_Healthy
  - VRT_SetChanged
  - VDI_Event
  - VDI_Panic
  - cli_health
  - do_list
  - do_list_json
  - cli_backend_list
  - do_set_health
  - cli_backend_set_health
  - VDI_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LIST_ARGS_MAGIC
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
      type_or_value: '0x7e7cefeb'
    - item_type: preproc_def
      name: SET_HEALTH_MAGIC
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
      type_or_value: '0x0c46b9fb'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: health
        type: int
      item_type: struct
      name: vdi_ahealth
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    - fields:
      - name: magic
        type: unsigned
      - name: p
        type: int
      - name: j
        type: int
      - name: '*jsep'
        type: char
      - name: '*vsb'
        type: struct vsb
      - name: '*vte'
        type: struct vte
      item_type: struct
      name: list_args
      pos:
        line_end: 313
        line_start: 305
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*ah'
        type: struct vdi_ahealth
      item_type: struct
      name: set_health
      pos:
        line_end: 473
        line_start: 469
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.c
    typedefs: []
    union: []
- function_names:
  - vmod_abi_mismatch
  - VPI_Vmod_Init
  - VPI_Vmod_Unload
  - nvl
  - VMOD_Panic
  - ccf_debug_vmod
  - VMOD_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_MAGIC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
      type_or_value: '0xb750219c'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (vmod)
        type: VTAILQ_ENTRY
      - name: ref
        type: int
      - name: '*nm'
        type: char
      - name: nbr
        type: unsigned
      - name: '*path'
        type: char
      - name: '*backup'
        type: char
      - name: '*hdl'
        type: void
      - name: '*funcs'
        type: void
      - name: funclen
        type: int
      - name: '*abi'
        type: char
      - name: vrt_major
        type: unsigned
      - name: vrt_minor
        type: unsigned
      - name: '*vcs'
        type: char
      - name: '*version'
        type: char
      item_type: struct
      name: vmod
      pos:
        line_end: 69
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vmod.c
    typedefs: []
    union: []
- function_names:
  - vgz_msg
  - vgz_gunzip
  - VGZ_NewGunzip
  - VGZ_NewTestGunzip
  - VGZ_NewGzip
  - vgz_getmbuf
  - VGZ_Ibuf
  - VGZ_IbufEmpty
  - VGZ_Obuf
  - VGZ_ObufFull
  - VGZ_Gunzip
  - vgz_iovec_update
  - vgz_gunzip_iovec
  - VGZ_Gzip
  - vdp_gunzip_init
  - vdp_gunzip_init_common
  - vdp_gunzip_fini
  - vdp_gunzip_bytes
  - vdpio_gunzip_init
  - vdpio_gunzip_upgrade
  - vdpio_gunzip_lease
  - VSCARAB_FOREACH
  - vdpio_gunzip_fini
  - VGZ_UpdateObj
  - VGZ_Destroy
  - vfp_gzip_init
  - vfp_gunzip_pull
  - vfp_gzip_pull
  - vfp_testgunzip_pull
  - vfp_gzip_fini
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VGZ_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
      type_or_value: '0x162df0cb'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: dir
        type: enum {VGZ_GZ,VGZ_UN}
      - name: '*vsl'
        type: struct vsl_log
      - name: '*id'
        type: char
      - name: last_i
        type: int
      - name: flag
        type: enum vgz_flag
      - name: '*stvbuf'
        type: struct stv_buffer
      - name: '*m_buf'
        type: char
      - name: m_sz
        type: ssize_t
      - name: m_len
        type: ssize_t
      - name: bits
        type: intmax_t
      - name: vz
        type: z_stream
      item_type: struct
      name: vgz
      pos:
        line_end: 72
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_gzip.c
    typedefs: []
    union: []
- function_names:
  - FETCH_STEP
  - vbf_allocobj
  - vbf_cleanup
  - Bereq_Rollback
  - vbf_beresp2obj
  - vbf_stp_mkbereq
  - vbf_stp_retry
  - vbf_304_logic
  - vbf_stp_startfetch
  - vbf_stp_fetchbody
  - vbf_stp_fetch
  - OBJ_FLAG
  - vbf_stp_fetchend
  - vbf_objiterate
  - vbf_stp_condfetch
  - vbf_stp_error
  - vbf_stp_fail
  - vbf_stp_done
  - vbf_fetch_thread
  - VBF_Fetch
  - REQ_BEREQ_FLAG
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FETCH_STEPS
      pos:
        line_end: 52
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
      type_or_value: "FETCH_STEP(mkbereq,           MKBEREQ) \\\n\tFETCH_STEP(retry,
        \            RETRY) \\\n\tFETCH_STEP(startfetch,        STARTFETCH) \\\n\tFETCH_STEP(condfetch,
        \        CONDFETCH) \\\n\tFETCH_STEP(fetch,             FETCH) \\\n\tFETCH_STEP(fetchbody,
        \        FETCHBODY) \\\n\tFETCH_STEP(fetchend,          FETCHEND) \\\n\tFETCH_STEP(error,
        \            ERROR) \\\n\tFETCH_STEP(fail,              FAIL) \\\n\tFETCH_STEP(done,
        \             DONE)"
    - item_type: preproc_def
      name: VBF_OBITER_PRIV_MAGIC
      pos:
        line_end: 822
        line_start: 821
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
      type_or_value: '0x3c272a17'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*func'
        type: vbf_state_f
      item_type: struct
      name: fetch_step
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*bo'
        type: struct busyobj
      - name: l
        type: ssize_t
      - name: '*p'
        type: uint8_t
      - name: pl
        type: ssize_t
      item_type: struct
      name: vbf_objiter_priv
      pos:
        line_end: 828
        line_start: 819
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
    typedefs:
    - item_type: typedef
      name: '*vbf_state_f(struct worker *, struct busyobj *)'
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_fetch.c
      type: fetch_step
    union: []
- function_names:
  - VAI_ASSERT_LEASE
  - INIT_VAI_HDL
  - CHECK_VAI_HDL
  - CAST_VAI_HDL_NOTNULL
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VAI_Q_MAGIC
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type_or_value: '0x573e27eb'
    - item_type: preproc_def
      name: VAI_QF_INQUEUE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type_or_value: (1U<<0)
    - item_type: preproc_def
      name: VAI_HDL_PREAMBLE_MAGIC2
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type_or_value: '0x7a15d162'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: flags
        type: unsigned
      - name: (vai_qe)
        type: VSLIST_ENTRY
      - name: '*cb'
        type: vai_notify_cb
      - name: hdl
        type: vai_hdl
      - name: '*priv'
        type: void
      item_type: struct
      name: vai_qe
      pos:
        line_end: 71
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
    - fields:
      - name: magic
        type: unsigned
      - name: magic2
        type: unsigned
      - name: '*vai_lease'
        type: vai_lease_f
      - name: '*vai_buffer'
        type: vai_buffer_f
      - name: '*vai_return'
        type: vai_return_f
      - name: '*vai_notify'
        type: vai_notify_f
      - name: reserve[3]
        type: uintptr_t
      - name: '*vai_fini'
        type: vai_fini_f
      item_type: struct
      name: vai_hdl_preamble
      pos:
        line_end: 152
        line_start: 142
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
    - fields:
      - name: '*objfree'
        type: objfree_f
      - name: '*objiterator'
        type: objiterator_f
      - name: '*objgetspace'
        type: objgetspace_f
      - name: '*objextend'
        type: objextend_f
      - name: '*objgetattr'
        type: objgetattr_f
      - name: '*objsetattr'
        type: objsetattr_f
      - name: '*objtrimstore'
        type: objtrimstore_f
      - name: '*objbocdone'
        type: objbocdone_f
      - name: '*objslim'
        type: objslim_f
      - name: '*objtouch'
        type: objtouch_f
      - name: '*objsetstate'
        type: objsetstate_f
      - name: '*vai_init'
        type: vai_init_f
      item_type: struct
      name: obj_methods
      pos:
        line_end: 187
        line_start: 171
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
    typedefs:
    - item_type: typedef
      name: objfree_f(struct worker *, struct objcore *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: "objsetstate_f(struct worker *, const struct objcore *,\n    enum boc_state_e)"
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: "objiterator_f(struct worker *, struct objcore *,\n    void *priv, objiterate_f
        *func, int final)"
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: int
    - item_type: typedef
      name: "objgetspace_f(struct worker *, struct objcore *,\n     ssize_t *sz, uint8_t
        **ptr)"
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: int
    - item_type: typedef
      name: objextend_f(struct worker *, struct objcore *, ssize_t l)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: objtrimstore_f(struct worker *, struct objcore *)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: objbocdone_f(struct worker *, struct objcore *, struct boc *)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: objslim_f(struct worker *, struct objcore *)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: "*objgetattr_f(struct worker *, struct objcore *,\n    enum obj_attr attr,
        ssize_t *len)"
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: "*objsetattr_f(struct worker *, struct objcore *,\n    enum obj_attr attr,
        ssize_t len, const void *ptr)"
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: objtouch_f(struct worker *, struct objcore *, vtim_real now)
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: "vai_init_f(struct worker *, struct objcore *, struct ws *,\n\tvai_notify_cb
        *, void *)"
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: vai_hdl
    - item_type: typedef
      name: vai_lease_f(struct worker *, vai_hdl, struct vscarab *)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: int
    - item_type: typedef
      name: vai_buffer_f(struct worker *, vai_hdl, struct vscarab *)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: int
    - item_type: typedef
      name: vai_return_f(struct worker *, vai_hdl, struct vscaret *)
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: vai_notify_f(struct worker *, vai_hdl)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    - item_type: typedef
      name: vai_fini_f(struct worker *, vai_hdl *)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_obj.h
      type: void
    union: []
- function_names:
  - VFP_DEBUG
  - vdpio_pull
  - iovec_collect
  - viov_take
  - vdpio_return_lease
  - vdpio_return_vscarab
  - vdpio_consolidate_vscarab
  - VSCARAB_FOREACH
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
  types:
    enum:
    - enumerators:
      - name: VFP_ERROR
        value: '-1'
      - name: VFP_END
        value: '1'
      - name: VFP_OK
        value: '0'
      - name: VFP_NULL
        value: '2'
      item_type: enum
      name: vfp_status
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - enumerators:
      - name: VDP_NULL
      - name: VDP_END
      - name: VDP_FLUSH
      item_type: enum
      name: vdp_action
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    preproc_defs:
    - item_type: preproc_def
      name: VFP_ENTRY_MAGIC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type_or_value: '0xbe32a027'
    - item_type: preproc_def
      name: VFP_CTX_MAGIC
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type_or_value: '0x61d9d3e5'
    - item_type: preproc_def
      name: VDP_ENTRY_MAGIC
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type_or_value: '0x353eb781'
    - item_type: preproc_def
      name: VDP_CTX_MAGIC
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type_or_value: '0xee501df7'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*init'
        type: vfp_init_f
      - name: '*pull'
        type: vfp_pull_f
      - name: '*fini'
        type: vfp_fini_f
      - name: '*priv1'
        type: void
      item_type: struct
      name: vfp
      pos:
        line_end: 66
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - fields:
      - name: magic
        type: unsigned
      - name: closed
        type: enum vfp_status
      - name: '*vfp'
        type: struct vfp
      - name: '*priv1'
        type: void
      - name: priv2
        type: ssize_t
      - name: (vfp_entry)
        type: VTAILQ_ENTRY
      - name: calls
        type: uint64_t
      - name: bytes_out
        type: uint64_t
      item_type: struct
      name: vfp_entry
      pos:
        line_end: 78
        line_start: 68
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - fields:
      - name: magic
        type: unsigned
      - name: failed
        type: int
      - name: '*req'
        type: struct http
      - name: '*resp'
        type: struct http
      - name: '*wrk'
        type: struct worker
      - name: '*oc'
        type: struct objcore
      - name: vfp
        type: struct vfp_entry_s
      - name: '*vfp_nxt'
        type: struct vfp_entry
      - name: obj_flags
        type: unsigned
      item_type: struct
      name: vfp_ctx
      pos:
        line_end: 98
        line_start: 86
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - fields:
      - name: '*name'
        type: char
      - name: '*init'
        type: vdp_init_f
      - name: '*bytes'
        type: vdp_bytes_f
      - name: '*fini'
        type: vdp_fini_f
      - name: '*priv1'
        type: void
      - name: '*io_init'
        type: vdpio_init_f
      - name: '*io_upgrade'
        type: vdpio_init_f
      - name: '*io_lease'
        type: vdpio_lease_f
      - name: '*io_fini'
        type: vdpio_fini_f
      item_type: struct
      name: vdp
      pos:
        line_end: 174
        line_start: 163
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - fields:
      - name: magic
        type: unsigned
      - name: end
        type: enum vdp_action
      - name: '*vdp'
        type: struct vdp
      - name: '*priv'
        type: void
      - name: (vdp_entry)
        type: VTAILQ_ENTRY
      - name: calls
        type: uint64_t
      - name: bytes_in
        type: uint64_t
      item_type: struct
      name: vdp_entry
      pos:
        line_end: 185
        line_start: 176
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    - fields:
      - name: magic
        type: unsigned
      - name: retval
        type: int
      - name: bytes_done
        type: uint64_t
      - name: vdp
        type: struct vdp_entry_s
      - name: '*nxt'
        type: struct vdp_entry
      - name: '*wrk'
        type: struct worker
      - name: '*vsl'
        type: struct vsl_log
      - name: '*oc'
        type: struct objcore
      - name: '*hp'
        type: struct http
      - name: '*clen'
        type: intmax_t
      - name: vai_hdl
        type: vai_hdl
      - name: '*scaret'
        type: struct vscaret
      item_type: struct
      name: vdp_ctx
      pos:
        line_end: 206
        line_start: 189
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
    typedefs:
    - item_type: typedef
      name: "vfp_init_f(VRT_CTX, struct vfp_ctx *,\n    struct vfp_entry *)"
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: vfp_status
    - item_type: typedef
      name: vfp_pull_f(struct vfp_ctx *, struct vfp_entry *, void *ptr, ssize_t *len)
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: vfp_status
    - item_type: typedef
      name: vfp_fini_f(struct vfp_ctx *, struct vfp_entry *)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: void
    - item_type: typedef
      name: vdp_init_f(VRT_CTX, struct vdp_ctx *, void **priv)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: int
    - item_type: typedef
      name: vdp_fini_f(struct vdp_ctx *, void **priv)
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: int
    - item_type: typedef
      name: "vdp_bytes_f(struct vdp_ctx *, enum vdp_action, void **priv,\n    const
        void *ptr, ssize_t len)"
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: int
    - item_type: typedef
      name: vdpio_init_f(VRT_CTX, struct vdp_ctx *, void **priv, int capacity)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: int
    - item_type: typedef
      name: vdpio_lease_f(struct vdp_ctx *, struct vdp_entry *, struct vscarab *scarab)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: int
    - item_type: typedef
      name: vdpio_fini_f(struct vdp_ctx *, void **priv)
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_filter.h
      type: void
    union: []
- function_names:
  - VPI_wrk_init
  - VPI_trace
  - vpi_ref_panic
  - VPI_Panic
  - VPI_vcl_fini
  - VPI_vcl_get
  - VPI_vcl_rel
  - VPI_vcl_select
  - v_noreturn_::VPI_Fail
  - VPI_Call_Check
  - VPI_Call_Begin
  - VPI_Call_End
  - VPI_PtrCmp
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vpi.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCL_Bo2Ctx
  - VCL_Req2Ctx
  - VCL_Get_CliCtx
  - VCL_Rel_CliCtx
  - vcl_event_handling
  - vcl_send_event
  - vcl_find
  - vcl_panic_conf
  - VCL_Panic
  - VCL_Update
  - vdire_new
  - vdire_start_iter
  - vdire_end_iter
  - vdire_start_event
  - vdire_end_event
  - vdire_resign
  - vdire_iter
  - vcl_iterdir
  - VCL_IterDirector
  - backend_event_base
  - backend_event_delta
  - vcl_KillBackends
  - VCL_Open
  - VCL_Close
  - VCL_TestLoad
  - vcl_print_refs
  - vcl_set_state
  - vcl_cancel_load
  - vcl_load
  - VCL_Poll
  - vcl_cli_list
  - vcl_cli_list_json
  - vcl_cli_load
  - vcl_cli_state
  - vcl_cli_discard
  - vcl_cli_label
  - vcl_cli_use
  - vcl_cli_show
  - VCL_Init
  - VCL_Shutdown
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vcl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VBE_Connect_Error
  - FIND_TMO
  - FIND_BE_SPEC
  - FIND_BE_PARAM
  - FIND_BE_TMO
  - BE_BUSY
  - vbe_connwait_broadcast
  - vbe_connwait_signal_locked
  - vbe_connwait_fini
  - vbe_dir_getfd
  - vbe_dir_finish
  - ACCT
  - vbe_dir_gethdrs
  - vbe_dir_getip
  - vbe_dir_http1pipe
  - vbe_dir_event
  - vbe_free
  - DA
  - vbe_destroy
  - vbe_panic
  - vbe_list
  - vbe_healthy
  - VRT_backend_vsm_need
  - via_resolve
  - via_endpoint
  - VRT_new_backend_clustered
  - DA
  - DN
  - CPTMO
  - VRT_new_backend
  - VRT_delete_backend
  - VBE_InitCfg
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
  types:
    enum:
    - enumerators:
      - name: CW_DO_CONNECT
        value: '1'
      - name: CW_QUEUED
      - name: CW_BE_BUSY
      - name: CW_DEQUEUED
      item_type: enum
      name: connwait_e
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    preproc_defs:
    - item_type: preproc_def
      name: CONNWAIT_MAGIC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
      type_or_value: '0x75c7a52b'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: cw_state
        type: enum connwait_e
      - name: (connwait)
        type: VTAILQ_ENTRY
      - name: cw_cond
        type: pthread_cond_t
      item_type: struct
      name: connwait
      pos:
        line_end: 69
        line_start: 63
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend.c
    typedefs: []
    union: []
- function_names:
  - IS_NO_VXID
  - VXID_TAG
  - VXID
  - IS_SAME_VXID
  - BODYSTATUS
  - SESS_CLOSE
  - ACCT
  - ACCT
  - TASK_QUEUE_LIMITED
  - OBJ_VARATTR
  - OBJ_AUXATTR
  - BERESP_FLAG
  - BEREQ_FLAG
  - BUSYOBJ_TMO
  - REQ_FLAG
  - IS_TOPREQ
  - SESS_TMO
  - IS_CLI
  - ASSERT_CLI
  - HTTP_FOREACH_PACK
  - HTTPH
  - http_tok_eq
  - http_tok_at
  - http_ctok_at
  - http_scheme_at
  - http_method_eq
  - http_method_among
  - http_hdr_eq
  - http_hdr_at
  - http_coding_eq
  - http_expect_eq
  - http_range_at
  - Lck_New
  - Lck_Lock
  - Lck_Unlock
  - Lck_Trylock
  - Lck_AssertHeld
  - LOCK
  - VFLA_SIZE
  - VFLA_INIT_
  - VFLA_INIT
  - VFLA_LOCAL_
  - VFLA_LOCAL
  - VFLA_ALLOC
  - VFLA_FOREACH
  - VFLA_FOREACH_RESUME
  - VFLA_GET
  - VFLA_ADD
  - VSCARAB_SIZE
  - VSCARAB_INIT
  - VSCARAB_LOCAL
  - VSCARAB_ALLOC
  - VSCARAB_FOREACH
  - VSCARAB_FOREACH_RESUME
  - VSCARAB_GET
  - VSCARAB_ADD
  - VSCARAB_ADD_IOV_NORET
  - VSCARAB_LAST
  - VSCARAB_CHECK
  - VSCARAB_CHECK_NOTNULL
  - VSCARET_SIZE
  - VSCARET_INIT
  - VSCARET_LOCAL
  - VSCARET_ALLOC
  - VSCARET_FOREACH
  - VSCARET_GET
  - VSCARET_ADD
  - VSCARET_CHECK
  - VSCARET_CHECK_NOTNULL
  - SESS_ATTR
  - VSLb_ts_req
  - VSLb_ts_busyobj
  - WS_Reservation
  - WS_ReservationSize
  - WS_ReserveLumps
  - WS_TASK_ALLOC_OBJ
  - W_TIM_real
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
  types:
    enum:
    - enumerators:
      - name: TASK_QUEUE_BO
      - name: TASK_QUEUE_VCA
      - name: TASK_QUEUE_RUSH
      - name: TASK_QUEUE_REQ
      - name: TASK_QUEUE_STR
      - name: TASK_QUEUE_BG
      - name: TASK_QUEUE__END
      item_type: enum
      name: task_prio
      pos:
        line_end: 242
        line_start: 234
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - enumerators:
      - name: DIR_S_NULL
        value: '0'
      - name: DIR_S_BODY
        value: '2'
      - name: DIR_S_HDRS
        value: '1'
      item_type: enum
      name: director_state_e
      pos:
        line_end: 393
        line_start: 389
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    preproc_defs:
    - item_type: preproc_def
      name: NO_VXID
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: ((struct vxids){0})
    - item_type: preproc_def
      name: STREAM_CLOSE_MAGIC
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0xc879c93d'
    - item_type: preproc_def
      name: DIGEST_LEN
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '32'
    - item_type: preproc_def
      name: WS_ID_SIZE
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '4'
    - item_type: preproc_def
      name: WS_MAGIC
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x35fac554'
    - item_type: preproc_def
      name: HTTP_MAGIC
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x6428b5c9'
    - item_type: preproc_def
      name: HDF_FILTER
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: "(1 << 0)\t"
    - item_type: preproc_def
      name: VSL_LOG_MAGIC
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x9f34'
    - item_type: preproc_def
      name: VSL_LOG_F_MALLOCED
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TASK_QUEUE_HIGHEST_PRIORITY
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: TASK_QUEUE_BO
    - item_type: preproc_def
      name: TASK_QUEUE_RESERVE
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: TASK_QUEUE_BG
    - item_type: preproc_def
      name: WORKER_MAGIC
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x6391adcf'
    - item_type: preproc_def
      name: BOC_MAGIC
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x70c98476'
    - item_type: preproc_def
      name: OC_F_TRANSIENT
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: (OC_F_PRIVATE | OC_F_HFM | OC_F_HFP)
    - item_type: preproc_def
      name: OBJCORE_MAGIC
      pos:
        line_end: 351
        line_start: 350
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x4d301302'
    - item_type: preproc_def
      name: BUSYOBJ_MAGIC
      pos:
        line_end: 398
        line_start: 397
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x23b95567'
    - item_type: preproc_def
      name: REQTOP_MAGIC
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x57fbda52'
    - item_type: preproc_def
      name: REQ_MAGIC
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0xfb4abf6d'
    - item_type: preproc_def
      name: SESS_MAGIC
      pos:
        line_end: 588
        line_start: 587
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x2c2f9c5a'
    - item_type: preproc_def
      name: HTTPH_R_PASS
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: "(1 << 0)\t"
    - item_type: preproc_def
      name: HTTPH_R_FETCH
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: "(1 << 1)\t"
    - item_type: preproc_def
      name: HTTPH_A_INS
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: "(1 << 2)\t"
    - item_type: preproc_def
      name: HTTPH_A_PASS
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: "(1 << 3)\t"
    - item_type: preproc_def
      name: HTTPH_C_SPECIFIC
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: "(1 << 4)\t"
    - item_type: preproc_def
      name: OBJ_ITER_FLUSH
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: OBJ_ITER_END
      pos:
        line_end: 772
        line_start: 771
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: IOV_NIL
      pos:
        line_end: 807
        line_start: 806
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: ((struct iovec){.iov_base = TRUST_ME(0x42), .iov_len = 0})
    - item_type: preproc_def
      name: VSCARAB_MAGIC
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x05ca7ab0'
    - item_type: preproc_def
      name: VSCARAB_F_END
      pos:
        line_end: 819
        line_start: 818
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: "1\t// last viov is last overall"
    - item_type: preproc_def
      name: VSCARET_MAGIC
      pos:
        line_end: 920
        line_start: 919
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: '0x9c1f3d7b'
    - item_type: preproc_def
      name: VAI_LEASE_NORET
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type_or_value: ((uint64_t)0x8)
    structs:
    - fields:
      - name: vxid
        type: uint64_t
      item_type: struct
      name: vxids
      pos:
        line_end: 62
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: '*name'
        type: char
      - name: nbr
        type: int
      - name: avail
        type: int
      - name: length_known
        type: int
      item_type: struct
      name: body_status
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: idx
        type: int
      - name: is_err
        type: unsigned
      - name: '*name'
        type: char
      - name: '*desc'
        type: char
      item_type: struct
      name: stream_close
      pos:
        line_end: 95
        line_start: 88
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: '*priv'
        type: void
      item_type: struct
      name: lock
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: id[WS_ID_SIZE]
        type: char
      - name: '*s'
        type: char
      - name: '*f'
        type: char
      - name: '*r'
        type: char
      - name: '*e'
        type: char
      item_type: struct
      name: ws
      pos:
        line_end: 151
        line_start: 143
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: shd
        type: uint16_t
      - name: '*hd'
        type: txt
      - name: '*hdf'
        type: unsigned char
      - name: nhd
        type: uint16_t
      - name: logtag
        type: enum VSL_tag_e
      - name: '*vsl'
        type: struct vsl_log
      - name: '*ws'
        type: struct ws
      - name: status
        type: uint16_t
      - name: protover
        type: uint8_t
      - name: wkm
        type: enum well_known_method
      item_type: struct
      name: http
      pos:
        line_end: 182
        line_start: 163
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields: []
      item_type: struct
      name: acct_req
      pos:
        line_end: 189
        line_start: 186
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields: []
      item_type: struct
      name: acct_bereq
      pos:
        line_end: 196
        line_start: 193
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: uint16_t
      - name: flags
        type: uint16_t
      - name: wlr
        type: unsigned
      - name: '*wlb'
        type: uint32_t
      - name: wid
        type: vxid_t
      item_type: struct
      name: vsl_log
      pos:
        line_end: 208
        line_start: 200
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: (pool_task)
        type: VTAILQ_ENTRY
      - name: '*func'
        type: task_func_t
      - name: '*priv'
        type: void
      item_type: struct
      name: pool_task
      pos:
        line_end: 222
        line_start: 218
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: strangelove
        type: int
      - name: '*wpriv'
        type: struct worker_priv
      - name: '*pool'
        type: struct pool
      - name: '*stats'
        type: struct VSC_main_wrk
      - name: '*vsl'
        type: struct vsl_log
      - name: task[1]
        type: struct pool_task
      - name: lastused
        type: vtim_real
      - name: cond
        type: pthread_cond_t
      - name: aws[1]
        type: struct ws
      - name: cur_method
        type: unsigned
      - name: seen_methods
        type: unsigned
      - name: '*vpi'
        type: struct wrk_vpi
      item_type: struct
      name: worker
      pos:
        line_end: 272
        line_start: 251
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: '*stevedore'
        type: struct stevedore
      - name: '*priv'
        type: void
      - name: priv2
        type: uint64_t
      item_type: struct
      name: storeobj
      pos:
        line_end: 282
        line_start: 278
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: refcount
        type: unsigned
      - name: mtx
        type: struct lock
      - name: cond
        type: pthread_cond_t
      - name: '*stevedore_priv'
        type: void
      - name: state
        type: enum boc_state_e
      - name: '*vary'
        type: uint8_t
      - name: fetched_so_far
        type: uint64_t
      - name: delivered_so_far
        type: uint64_t
      - name: transit_buffer
        type: uint64_t
      - name: vai_q_head
        type: struct vai_q_head
      item_type: struct
      name: boc
      pos:
        line_end: 313
        line_start: 300
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: refcnt
        type: int
      - name: stobj[1]
        type: struct storeobj
      - name: '*objhead'
        type: struct objhead
      - name: '*boc'
        type: struct boc
      - name: timer_when
        type: vtim_real
      - name: hits
        type: VCL_INT
      - name: t_origin
        type: vtim_real
      - name: ttl
        type: float
      - name: grace
        type: float
      - name: keep
        type: float
      - name: flags
        type: uint8_t
      - name: exp_flags
        type: uint8_t
      - name: oa_present
        type: uint16_t
      - name: timer_idx
        type: unsigned
      - name: waitinglist_gen
        type: unsigned
      - name: last_lru
        type: vtim_real
      - name: (objcore)
        type: VTAILQ_ENTRY
      - name: lru_list
        type: VTAILQ_ENTRY
      - name: (objcore)
        type: VTAILQ_ENTRY
      - name: exp_list
        type: VSTAILQ_ENTRY
      - name: '*ban'
        type: struct ban
      item_type: struct
      name: objcore
      pos:
        line_end: 378
        line_start: 348
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*end'
        type: char
      - name: max_retries
        type: unsigned
      - name: retries
        type: unsigned
      - name: '*req'
        type: struct req
      - name: '*sp'
        type: struct sess
      - name: '*wrk'
        type: struct worker
      - name: '*vfc'
        type: struct vfp_ctx
      - name: '*vfp_filter_list'
        type: char
      - name: '*vdp_filter_list'
        type: char
      - name: ws[1]
        type: struct ws
      - name: ws_bo
        type: uintptr_t
      - name: '*bereq0'
        type: struct http
      - name: '*bereq'
        type: struct http
      - name: '*beresp'
        type: struct http
      - name: '*bereq_body'
        type: struct objcore
      - name: '*stale_oc'
        type: struct objcore
      - name: '*fetch_objcore'
        type: struct objcore
      - name: '*no_retry'
        type: char
      - name: '*htc'
        type: struct http_conn
      - name: fetch_task[1]
        type: struct pool_task
      - name: '*err_reason'
        type: char
      - name: director_state
        type: enum director_state_e
      - name: err_code
        type: uint16_t
      - name: connect_timeout
        type: vtim_dur
      - name: first_byte_timeout
        type: vtim_dur
      - name: between_bytes_timeout
        type: vtim_dur
      - name: task_deadline
        type: vtim_dur
      - name: t_first
        type: vtim_real
      - name: t_resp
        type: vtim_real
      - name: t_prev
        type: vtim_real
      - name: acct
        type: struct acct_bereq
      - name: '*storage'
        type: struct stevedore
      - name: '*director_req'
        type: struct director
      - name: '*director_resp'
        type: struct director
      - name: '*vcl'
        type: struct vcl
      - name: vsl[1]
        type: struct vsl_log
      - name: digest[DIGEST_LEN]
        type: uint8_t
      - name: privs[1]
        type: struct vrt_privs
      - name: '*client_identity'
        type: char
      item_type: struct
      name: busyobj
      pos:
        line_end: 463
        line_start: 395
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*topreq'
        type: struct req
      - name: '*vcl0'
        type: struct vcl
      - name: privs[1]
        type: struct vrt_privs
      item_type: struct
      name: reqtop
      pos:
        line_end: 478
        line_start: 472
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: esi_level
        type: unsigned
      - name: req_body_status
        type: body_status_t
      - name: doclose
        type: stream_close_t
      - name: restarts
        type: unsigned
      - name: max_restarts
        type: unsigned
      - name: waitinglist_gen
        type: unsigned
      - name: '*req_step'
        type: struct req_step
      - name: '*top'
        type: struct reqtop
      - name: err_code
        type: uint16_t
      - name: '*err_reason'
        type: char
      - name: '*sp'
        type: struct sess
      - name: '*wrk'
        type: struct worker
      - name: task[1]
        type: struct pool_task
      - name: '*transport'
        type: struct transport
      - name: '*transport_priv'
        type: void
      - name: w_list
        type: VTAILQ_ENTRY
      - name: '*body_oc'
        type: struct objcore
      - name: '*vary_b'
        type: uint8_t
      - name: '*vary_e'
        type: uint8_t
      - name: digest[DIGEST_LEN]
        type: uint8_t
      - name: d_ttl
        type: vtim_dur
      - name: d_grace
        type: vtim_dur
      - name: '*storage'
        type: struct stevedore
      - name: '*director_hint'
        type: struct director
      - name: '*vcl'
        type: struct vcl
      - name: ws_req
        type: uintptr_t
      - name: t_first
        type: vtim_real
      - name: t_prev
        type: vtim_real
      - name: t_req
        type: vtim_real
      - name: t_resp
        type: vtim_real
      - name: '*htc'
        type: struct http_conn
      - name: '*vfc'
        type: struct vfp_ctx
      - name: '*client_identity'
        type: char
      - name: '*http'
        type: struct http
      - name: '*http0'
        type: struct http
      - name: '*resp'
        type: struct http
      - name: resp_len
        type: intmax_t
      - name: ws[1]
        type: struct ws
      - name: '*objcore'
        type: struct objcore
      - name: '*stale_oc'
        type: struct objcore
      - name: '*boc'
        type: struct boc
      - name: '*vdc'
        type: struct vdp_ctx
      - name: '*vdp_filter_list'
        type: char
      - name: '*vfp_filter_list'
        type: char
      - name: vsl[1]
        type: struct vsl_log
      - name: acct
        type: struct acct_req
      - name: privs[1]
        type: struct vrt_privs
      - name: '*vcf'
        type: struct vcf
      item_type: struct
      name: req
      pos:
        line_end: 565
        line_start: 480
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: sattr[SA_LAST]
        type: uint16_t
      - name: '*listen_sock'
        type: struct listen_sock
      - name: refcnt
        type: int
      - name: fd
        type: int
      - name: vxid
        type: vxid_t
      - name: mtx
        type: struct lock
      - name: '*pool'
        type: struct pool
      - name: ws[1]
        type: struct ws
      - name: t_open
        type: vtim_real
      - name: t_idle
        type: vtim_real
      - name: timeout_idle
        type: vtim_dur
      - name: timeout_linger
        type: vtim_dur
      - name: send_timeout
        type: vtim_dur
      - name: idle_send_timeout
        type: vtim_dur
      item_type: struct
      name: sess
      pos:
        line_end: 607
        line_start: 585
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: lease
        type: uintptr_t
      - name: iov
        type: struct iovec
      item_type: struct
      name: viov
      pos:
        line_end: 800
        line_start: 797
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: flags
        type: unsigned
      - name: capacity
        type: unsigned
      - name: used
        type: unsigned
      - name: v_counted_by_(capacity)
        type: struct viov
      item_type: struct
      name: vscarab
      pos:
        line_end: 822
        line_start: 814
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    - fields:
      - name: magic
        type: unsigned
      - name: capacity
        type: unsigned
      - name: used
        type: unsigned
      - name: v_counted_by_(capacity)
        type: uintptr_t
      item_type: struct
      name: vscaret
      pos:
        line_end: 923
        line_start: 917
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
    typedefs:
    - item_type: typedef
      name: vxid_t
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type: vxids
    - item_type: typedef
      name: '*body_status_t'
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type: body_status
    - item_type: typedef
      name: task_func_t(struct worker *wrk, void *priv)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type: void
    - item_type: typedef
      name: "objiterate_f(void *priv, unsigned flush,\n    const void *ptr, ssize_t
        len)"
      pos:
        line_end: 769
        line_start: 768
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type: int
    - item_type: typedef
      name: '*vai_hdl'
      pos:
        line_end: 788
        line_start: 788
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type: void
    - item_type: typedef
      name: vai_notify_cb(vai_hdl, void *priv)
      pos:
        line_end: 789
        line_start: 789
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type: void
    - item_type: typedef
      name: '*bgthread_t(struct worker *, void *priv)'
      pos:
        line_end: 1008
        line_start: 1008
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache.h
      type: void
    union: []
- function_names:
  - Lck_Witness_Lock
  - Lck_Witness_Unlock
  - Lck__Lock
  - Lck__Unlock
  - Lck__Trylock
  - Lck__Held
  - Lck__Owned
  - Lck_CondWait
  - Lck_CondWaitTimeout
  - Lck_CondWaitUntil
  - Lck__New
  - Lck_Delete
  - Lck_CreateClass
  - Lck_DestroyClass
  - LOCK
  - LCK_Init
  - LOCK
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ILCK_MAGIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
      type_or_value: '0x7b86c8a5'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: held
        type: int
      - name: mtx
        type: pthread_mutex_t
      - name: owner
        type: pthread_t
      - name: '*w'
        type: char
      - name: '*stat'
        type: struct VSC_lck
      item_type: struct
      name: ilck
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_lck.c
    typedefs: []
    union: []
- function_names:
  - VDP_Panic
  - VDP_Fini
  - VDP_Init
  - VDP_bytes
  - VDP_Push
  - VDP_Close
  - VDPIO_Push
  - VDPIO_Upgrade
  - VDPIO_Close1
  - VDPIO_Close
  - VDPIO_Init
  - VDPIO_Return
  - VDPIO_Notify
  - VDPIO_Fini
  - VDP_ObjIterate
  - VDP_DeliverObj
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_deliver_proc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ban_alloc
  - BAN_Free
  - BAN_Hold
  - BAN_Release
  - ban_time
  - ban_len
  - ban_equal
  - ban_mark_completed
  - ban_get_lump
  - ban_iter
  - BAN_NewObjCore
  - BAN_DestroyObj
  - BAN_FindBan
  - BAN_RefBan
  - ban_export
  - ban_info_new
  - ban_info_drop
  - ban_reload
  - BAN_Reload
  - BAN_Time
  - ban_evaluate
  - BAN_CheckObject
  - ccf_ban
  - Xfmt
  - vdur_render
  - ban_render
  - ban_list
  - ban_list_json
  - ccf_ban_list
  - BAN_Compile
  - BAN_Init
  - BAN_Shutdown
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: Ms
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
      type_or_value: '60'
    - item_type: preproc_def
      name: Hs
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
      type_or_value: (Ms * 60)
    - item_type: preproc_def
      name: Ds
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
      type_or_value: (Hs * 24)
    - item_type: preproc_def
      name: Ws
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
      type_or_value: (Ds * 7)
    - item_type: preproc_def
      name: Ys
      pos:
        line_end: 786
        line_start: 785
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
      type_or_value: (Ds * 365)
    structs:
    - fields:
      - name: oper
        type: uint8_t
      - name: arg1
        type: uint8_t
      - name: '*arg1_spec'
        type: char
      - name: '*arg2'
        type: char
      - name: arg2_double
        type: double
      - name: '*arg2_spec'
        type: void
      item_type: struct
      name: ban_test
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban.c
    typedefs: []
    union: []
- function_names:
  - VBE_AHEALTH
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCLDIR_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.h
      type_or_value: '0xbf726c7d'
    - item_type: preproc_def
      name: VDIR_FLG_NOREFCNT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VBE_AHEALTH_LIST
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.h
      type_or_value: "VBE_AHEALTH(healthy,\tHEALTHY,\t1)\t\t\\\n\tVBE_AHEALTH(sick,\tSICK,\t\t0)\t\t\\\n\tVBE_AHEALTH(auto,\tAUTO,\t\t-1)\t\t\\\n\tVBE_AHEALTH(deleted,\tDELETED,\t0)"
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: refcnt
        type: int
      - name: flags
        type: unsigned
      - name: dlck
        type: struct lock
      - name: '*dir'
        type: struct director
      - name: '*vcl'
        type: struct vcl
      - name: '*methods'
        type: struct vdi_methods
      - name: directors_list
        type: VTAILQ_ENTRY
      - name: resigning_list
        type: VTAILQ_ENTRY
      - name: '*admin_health'
        type: struct vdi_ahealth
      - name: health_changed
        type: vtim_real
      - name: '*cli_name'
        type: char
      item_type: struct
      name: vcldir
      pos:
        line_end: 50
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_director.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PFD_STATE_AVAIL
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: PFD_STATE_USED
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: PFD_STATE_STOLEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: PFD_STATE_CLEANUP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_conn_pool.h
      type_or_value: (1<<3)
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCF_RETURNS
  - VCF_RETURN
  - EXP_Dttl
  - EXP_ZERO
  - EXP_COPY
  - EXP_WHEN
  - PAN_CheckMagic
  - PAN_dump_struct
  - PAN_dump_oneline
  - PAN_dump_once
  - PAN_dump_once_oneline
  - SESS_ATTR
  - VCL_MET_MAC
  - WS_IsReserved
  - FEATURE
  - EXPERIMENT
  - DO_DEBUG
  - DSL
  - DSLb
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
  types:
    enum:
    - enumerators:
      - name: VBF_NORMAL
        value: '0'
      - name: VBF_PASS
        value: '1'
      - name: VBF_BACKGROUND
        value: '2'
      item_type: enum
      name: vbf_fetch_mode_e
      pos:
        line_end: 276
        line_start: 272
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    - enumerators:
      - name: REQ_FSM_MORE
      - name: REQ_FSM_DONE
      - name: REQ_FSM_DISEMBARK
      item_type: enum
      name: req_fsm_nxt
      pos:
        line_end: 445
        line_start: 441
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    - enumerators:
      - name: KEEP
      - name: DISCARD
      item_type: enum
      name: vry_finish_flag
      pos:
        line_end: 495
        line_start: 495
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    preproc_defs:
    - item_type: preproc_def
      name: WORKER_PRIV_MAGIC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: '0x3047db99'
    - item_type: preproc_def
      name: HTTP_CONN_MAGIC
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: '0x3e19edd1'
    - item_type: preproc_def
      name: VCF_MAGIC
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: '0x183285d1'
    - item_type: preproc_def
      name: OEV_INSERT
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: (1U<<1)
    - item_type: preproc_def
      name: OEV_BANCHG
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: (1U<<2)
    - item_type: preproc_def
      name: OEV_TTLCHG
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: (1U<<3)
    - item_type: preproc_def
      name: OEV_EXPIRE
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: (1U<<4)
    - item_type: preproc_def
      name: OEV_MASK
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type_or_value: (OEV_INSERT|OEV_BANCHG|OEV_TTLCHG|OEV_EXPIRE)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*func'
        type: req_state_f
      item_type: struct
      name: req_step
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    - fields:
      - name: next
        type: uint64_t
      - name: count
        type: uint32_t
      item_type: struct
      name: vxid_pool
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*nobjhead'
        type: struct objhead
      - name: '*nobjcore'
        type: struct objcore
      - name: '*nhashpriv'
        type: void
      - name: vxid_pool[1]
        type: struct vxid_pool
      - name: '*vcl'
        type: struct vcl
      item_type: struct
      name: worker_priv
      pos:
        line_end: 84
        line_start: 76
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*rfd'
        type: int
      - name: doclose
        type: stream_close_t
      - name: body_status
        type: body_status_t
      - name: '*ws'
        type: struct ws
      - name: '*rxbuf_b'
        type: char
      - name: '*rxbuf_e'
        type: char
      - name: '*pipeline_b'
        type: char
      - name: '*pipeline_e'
        type: char
      - name: content_length
        type: ssize_t
      - name: '*priv'
        type: void
      - name: first_byte_timeout
        type: vtim_dur
      - name: between_bytes_timeout
        type: vtim_dur
      item_type: struct
      name: http_conn
      pos:
        line_end: 112
        line_start: 94
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: vcf_return
      pos:
        line_end: 131
        line_start: 129
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*func'
        type: vcf_func_f
      - name: '*priv'
        type: void
      item_type: struct
      name: vcf
      pos:
        line_end: 154
        line_start: 149
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
    typedefs:
    - item_type: typedef
      name: req_state_f(struct worker *, struct req *)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type: req_fsm_nxt
    - item_type: typedef
      name: htc_complete_f(struct http_conn *)
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type: htc_status_e
    - item_type: typedef
      name: "*vcf_func_f(\n\tstruct req *req,\n\tstruct objcore **oc,\n\tstruct objcore
        **oc_exp,\n\tint state)"
      pos:
        line_end: 147
        line_start: 143
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type: vcf_return
    - item_type: typedef
      name: "obj_event_f(struct worker *, void *priv, struct objcore *,\n    unsigned)"
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type: void
    - item_type: typedef
      name: vcl_be_func(struct cli *, struct director *, void *)
      pos:
        line_end: 514
        line_start: 514
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vinyld.h
      type: int
    union: []
- function_names:
  - vfp_vep_callback
  - vfp_esi_end
  - vfp_esi_gzip_init
  - vfp_esi_gzip_pull
  - vfp_esi_init
  - vfp_esi_pull
  - vfp_esi_fini
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VEF_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
      type_or_value: '0xf104b51f'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: error
        type: int
      - name: tot
        type: ssize_t
      - name: '*vgz'
        type: struct vgz
      - name: '*vep'
        type: struct vep_state
      - name: '*ibuf'
        type: char
      - name: '*ibuf_i'
        type: char
      - name: '*ibuf_o'
        type: char
      - name: ibuf_sz
        type: ssize_t
      item_type: struct
      name: vef_priv
      pos:
        line_end: 61
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_fetch.c
    typedefs: []
    union: []
- function_names:
  - Req_AcctLogCharge
  - ACCT
  - Req_LogHit
  - Req_LogStart
  - Req_New
  - Req_Release
  - ACCT
  - Req_Rollback
  - Req_Cleanup
  - resp_u_storage
  - Resp_l_storage
  - Req_Fail
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - EXP_Ttl
  - EXP_Ttl_grace
  - exp_mail_it
  - EXP_RefNewObjcore
  - EXP_Remove
  - EXP_Insert
  - EXP_Reduce
  - EXP_Rearm
  - exp_inbox
  - exp_expire
  - object_cmp
  - object_update
  - exp_thread
  - EXP_Init
  - EXP_Shutdown
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXP_PRIV_MAGIC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
      type_or_value: '0x9db22482'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: mtx
        type: struct lock
      - name: (,objcore)
        type: VSTAILQ_HEAD
      - name: condvar
        type: pthread_cond_t
      - name: '*wrk'
        type: struct worker
      - name: vsl
        type: struct vsl_log
      - name: '*heap'
        type: struct vbh
      - name: thread
        type: pthread_t
      item_type: struct
      name: exp_priv
      pos:
        line_end: 57
        line_start: 44
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_expire.c
    typedefs: []
    union: []
- function_names:
  - VPI_re_init
  - VPI_re_fini
  - re_fail
  - VRT_re_match
  - VRT_regsub
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_re.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vep_error
  - vep_warn
  - vep_match
  - vep_emit_len
  - vep_emit_skip
  - vep_emit_verbatim
  - vep_emit_common
  - vep_mark_common
  - vep_mark_verbatim
  - vep_mark_skip
  - vep_mark_pending
  - vep_do_comment
  - vep_do_remove
  - include_attr_src
  - include_attr_onerror
  - vep_do_include
  - R
  - VEP_Parse
  - vep_default_cb
  - VEP_Init
  - VEP_Finish
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
  types:
    enum:
    - enumerators:
      - name: DO_ATTR
      - name: DO_TAG
      item_type: enum
      name: dowhat
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - enumerators:
      - name: VERBATIM
        value: '0'
      - name: SKIP
      item_type: enum
      name: vep_mark
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    preproc_defs:
    - item_type: preproc_def
      name: VEP_MAGIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
      type_or_value: '0x55cb9b82'
    structs:
    - fields:
      - name: '*match'
        type: char
      - name: '* const *state'
        type: char
      item_type: struct
      name: vep_match
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*vsb'
        type: struct vsb
      - name: '*url'
        type: char
      - name: '*vc'
        type: struct vfp_ctx
      - name: dogzip
        type: int
      - name: '*cb'
        type: vep_callback_t
      - name: '*cb_priv'
        type: void
      - name: cb_x
        type: ssize_t
      - name: '*state'
        type: char
      - name: startup
        type: unsigned
      - name: esi_found
        type: unsigned
      - name: endtag
        type: unsigned
      - name: emptytag
        type: unsigned
      - name: canattr
        type: unsigned
      - name: remove
        type: unsigned
      - name: o_wait
        type: ssize_t
      - name: o_pending
        type: ssize_t
      - name: o_total
        type: ssize_t
      - name: crc
        type: uint32_t
      - name: o_crc
        type: ssize_t
      - name: crcp
        type: uint32_t
      - name: o_last
        type: ssize_t
      - name: '*hack_p'
        type: char
      - name: '*ver_p'
        type: char
      - name: '*until'
        type: char
      - name: '*until_p'
        type: char
      - name: '*until_s'
        type: char
      - name: in_esi_tag
        type: int
      - name: '*esicmt'
        type: char
      - name: '*esicmt_p'
        type: char
      - name: '*attr'
        type: struct vep_match
      - name: '*attr_vsb'
        type: struct vsb
      - name: attr_delim
        type: int
      - name: '*match'
        type: struct vep_match
      - name: '*match_hit'
        type: struct vep_match
      - name: tag[8]
        type: char
      - name: tag_i
        type: int
      - name: '*dostuff'
        type: dostuff_f
      - name: '*include_src'
        type: struct vsb
      - name: include_continue
        type: unsigned
      - name: nm_skip
        type: unsigned
      - name: nm_verbatim
        type: unsigned
      - name: nm_pending
        type: unsigned
      - name: last_mark
        type: enum vep_mark
      item_type: struct
      name: vep_state
      pos:
        line_end: 122
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
    typedefs:
    - item_type: typedef
      name: dostuff_f(struct vep_state *, enum dowhat)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_parse.c
      type: void
    union: []
- function_names:
  - cache_vrnd_lock
  - cache_vrnd_unlock
  - THR_SetBusyobj
  - THR_GetBusyobj
  - THR_SetRequest
  - THR_GetRequest
  - THR_SetWorker
  - THR_GetWorker
  - thr_setname_generic
  - THR_SetName
  - THR_GetName
  - THR_Init
  - VXID_Get
  - cli_debug_xid
  - cli_debug_shutdown_delay
  - cli_debug_srandom
  - child_malloc_fail
  - child_signal_handler
  - child_sigmagic
  - cli_quit
  - bit_set
  - ccf_child_start
  - t_vscarab1
  - t_vscarab
  - child_main
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CAP
      pos:
        line_end: 423
        line_start: 422
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_main.c
      type_or_value: 17U
    structs: []
    typedefs: []
    union: []
- function_names:
  - mpl_alloc
  - mpl_guard
  - MPL_New
  - MPL_Destroy
  - MPL_Get
  - MPL_Free
  - MPL_AssertSane
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MEMITEM_MAGIC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
      type_or_value: '0x42e55401'
    - item_type: preproc_def
      name: MEMPOOL_MAGIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
      type_or_value: '0x37a75a8d'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: size
        type: unsigned
      - name: (memitem)
        type: VTAILQ_ENTRY
      - name: touched
        type: vtim_real
      item_type: struct
      name: memitem
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    - fields:
      - name: magic
        type: unsigned
      - name: name[12]
        type: char
      - name: list
        type: struct memhead_s
      - name: surplus
        type: struct memhead_s
      - name: mtx
        type: struct lock
      - name: '*param'
        type: struct poolparam
      - name: '*cur_size'
        type: unsigned
      - name: live
        type: uint64_t
      - name: '*vsc_seg'
        type: struct vsc_seg
      - name: '*vsc'
        type: struct VSC_mempool
      - name: n_pool
        type: unsigned
      - name: thread
        type: pthread_t
      - name: t_now
        type: vtim_real
      - name: self_destruct
        type: int
      item_type: struct
      name: mempool
      pos:
        line_end: 69
        line_start: 53
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_mempool.c
    typedefs: []
    union: []
- function_names:
  - ved_minimal_response
  - ved_reembark
  - ved_include
  - ved_decode_len
  - ved_vdp_esi_init
  - ved_vdp_esi_fini
  - ved_vdp_esi_bytes
  - ved_bytes
  - ved_pretend_gzip_fini
  - ved_pretend_gzip_bytes
  - ved_gzgz_init
  - ved_gzgz_bytes
  - ved_gzgz_fini
  - ved_vdp_fini
  - ved_vdp_bytes
  - ved_close
  - ved_deliver
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ECX_MAGIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
      type_or_value: '0x0b0f9163'
    - item_type: preproc_def
      name: VED_FOO_MAGIC
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
      type_or_value: '0x6a5a262d'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*p'
        type: uint8_t
      - name: '*e'
        type: uint8_t
      - name: state
        type: int
      - name: l
        type: ssize_t
      - name: isgzip
        type: int
      - name: woken
        type: int
      - name: abrt
        type: int
      - name: '*preq'
        type: struct req
      - name: '*pecx'
        type: struct ecx
      - name: l_crc
        type: ssize_t
      - name: crc
        type: uint32_t
      item_type: struct
      name: ecx
      pos:
        line_end: 73
        line_start: 58
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*ecx'
        type: struct ecx
      - name: '*objcore'
        type: struct objcore
      - name: start
        type: uint64_t
      - name: ll
        type: ssize_t
      - name: olen
        type: uint64_t
      - name: dbits[8]
        type: uint8_t
      - name: tailbuf[8]
        type: uint8_t
      item_type: struct
      name: ved_foo
      pos:
        line_end: 606
        line_start: 596
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_esi_deliver.c
    typedefs: []
    union: []
- function_names:
  - CLI_AddFuncs
  - cli_cb_before
  - cli_cb_after
  - CLI_Run
  - CLI_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_cli.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VRT_TMO
  - vrt_do_strands
  - VRT_HDR_L
  - VRT_HDR_R
  - VRT_HDR_LR
  - VRT_STATUS_L
  - VRT_STATUS_R
  - beresp_filter_fixed
  - VBERESPWF0
  - VBERESPWF1
  - VBERESPW1
  - VBERESPRF0
  - VBERESPRF1
  - VBERESPR1
  - BERESP_FLAG
  - VBEREQR1
  - BEREQ_FLAG
  - VRT_r_bereq_uncacheable
  - VRT_l_beresp_uncacheable
  - VRT_r_beresp_uncacheable
  - VRT_l_req_trace
  - VRT_l_bereq_trace
  - VRT_r_beresp_transit_buffer
  - VRT_l_beresp_transit_buffer
  - VRT_r_client_identity
  - VRT_l_client_identity
  - BEREQ_TIMEOUT
  - VRT_r_beresp_backend_name
  - VRT_r_beresp_backend_ip
  - VRT_r_req_storage
  - VRT_l_req_storage
  - VRT_r_resp_storage
  - VRT_l_resp_storage
  - VRT_r_beresp_storage
  - VRT_l_beresp_storage
  - VRT_OC_VAR_R
  - REQ_VAR_L
  - REQ_VAR_R
  - REQ_VAR_U
  - VRT_l_req_ttl
  - VRT_r_req_ttl
  - VRT_u_req_ttl
  - VRT_l_req_backend_hint
  - VRT_l_bereq_backend
  - VRT_r_bereq_backend
  - VRT_r_beresp_backend
  - VRT_u_bereq_body
  - VRT_l_req_esi
  - VRT_r_req_esi
  - VRT_r_req_esi_level
  - VRT_r_req_can_gzip
  - VRT_r_req_restarts
  - VRT_r_bereq_retries
  - VRT_l_bereq_retry_connect
  - VRT_r_bereq_retry_connect
  - VRT_r_req_transport
  - ttl_now
  - VRT_DO_EXP_L
  - VRT_DO_EXP_R
  - VRT_DO_TIME_R
  - VRT_DO_AGE_R
  - VRT_r_req_xid
  - VRT_r_bereq_xid
  - VRT_r_sess_xid
  - VREQW1
  - VREQR1
  - REQ_FLAG
  - GIP
  - LOC
  - VRT_r_server_identity
  - VRT_r_server_hostname
  - VRT_r_obj_hits
  - VRT_r_obj_stale_hits
  - VRT_r_obj_stale_is_valid
  - VRT_r_resp_is_streaming
  - resp_filter_fixed
  - VRT_l_resp_do_esi
  - VRT_r_resp_do_esi
  - VRT_BODY_L
  - VRT_l_resp_body
  - VRT_r_req_hash
  - VRT_r_bereq_hash
  - HTTP_VAR
  - set_idle_send_timeout
  - SESS_VAR_DUR
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BLOB_HASH_TYPE
      pos:
        line_end: 1225
        line_start: 1224
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_var.c
      type_or_value: '0x00d16357'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VBP_STATE
  - BITMAP
  - vbp_delete
  - vbp_start_poke
  - BITMAP
  - vbp_has_poked
  - VBP_Update_Backend
  - BITMAP
  - vbp_reset
  - BITMAP
  - vbp_write
  - vbp_write_proxy_v1
  - vbp_poke
  - vbp_heap_insert
  - vbp_task_complete
  - vbp_task
  - vbp_scheduler
  - vbp_bitmap
  - VBP_Status
  - BITMAP
  - BITMAP
  - vbp_build_req
  - vbp_set_defaults
  - DN
  - VBP_Control
  - VBP_Insert
  - VBP_Remove
  - vbp_cmp
  - vbp_update
  - VBP_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: AVG_RATE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
      type_or_value: '4'
    - item_type: preproc_def
      name: VBP_TARGET_MAGIC
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
      type_or_value: '0x6b7cb656'
    structs:
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: vbp_state
      pos:
        line_end: 59
        line_start: 57
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*backend'
        type: struct backend
      - name: '*conn_pool'
        type: struct conn_pool
      - name: '*req'
        type: char
      - name: req_len
        type: int
      - name: resp_buf[128]
        type: char
      - name: good
        type: unsigned
      - name: last
        type: vtim_dur
      - name: avg
        type: vtim_dur
      - name: rate
        type: double
      - name: due
        type: vtim_real
      - name: '*state'
        type: struct vbp_state
      - name: heap_idx
        type: int
      - name: task[1]
        type: struct pool_task
      item_type: struct
      name: vbp_target
      pos:
        line_end: 99
        line_start: 72
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_backend_probe.c
    typedefs: []
    union: []
- function_names:
  - WS_Assert
  - WS_Allocated
  - WS_Init
  - WS_Reset
  - WS_Pipeline
  - WS_Alloc
  - WS_Copy
  - WS_Snapshot
  - WS_ReserveAll
  - WS_ReserveSize
  - WS_Release
  - WS_ReleaseP
  - WS_AtOffset
  - WS_ReservationOffset
  - WS_Dump
  - ws_printptr
  - WS_Panic
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS_REDZONE_END
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ws.c
      type_or_value: '''\x15'''
    structs: []
    typedefs: []
    union: []
- function_names:
  - BAN_Build
  - BAN_Abandon
  - ban_add_lump
  - ban_error
  - ban_parse_http
  - ban_parse_regexp
  - ban_parse_oper
  - ban_add_spec
  - ban_add_double
  - ban_add_duration
  - BAN_AddTest
  - BAN_Commit
  - ban_build_arg_operhelp
  - BAN_Build_Init
  - BAN_Build_Fini
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BAN_PROTO_MAGIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
      type_or_value: '0xd8adc494'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: flags
        type: unsigned
      - name: '*vsb'
        type: struct vsb
      - name: '*err'
        type: char
      item_type: struct
      name: ban_proto
      pos:
        line_end: 53
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    - fields:
      - name: '*name'
        type: char
      - name: flag
        type: unsigned
      - name: tag
        type: uint8_t
      item_type: struct
      name: pvar
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_ban_build.c
    typedefs: []
    union: []
- function_names:
  - VRT_synth
  - VPI_acl_log
  - VRT_acl_match
  - acl_tbl_cmp
  - bbsearch
  - VPI_acl_table
  - VRT_hit_for_pass
  - VRT_selecthttp
  - VRT_GetHdr
  - VRT_AllocStrandsWS
  - VRT_CompareStrands
  - VRT_Strands2Bool
  - VRT_HashStrands32
  - VRT_Strands
  - VRT_StrandsWS
  - VRT_STRANDS_string
  - VRT_UpperLowerStrands
  - validhdr
  - VRT_ValidHdr
  - VRT_UnsetHdr
  - VRT_SetHdr
  - VRT_handling
  - VRT_handled
  - VRT_trace
  - VRT_fail
  - VRT_hashdata
  - VRT_r_now
  - VRT_IP_string
  - VRT_INT_is_valid
  - VRT_INT_string
  - VRT_REAL_is_valid
  - VRT_REAL_string
  - VRT_TIME_string
  - VRT_BACKEND_string
  - VRT_PROBE_string
  - VRT_BOOL_string
  - VRT_BLOB_string
  - VRT_Rollback
  - vrt_ban_error
  - VRT_ban_string
  - VRT_CacheReqBody
  - VRT_purge
  - VRT_VSM_Cluster_New
  - VRT_VSM_Cluster_Destroy
  - VRT_strcmp
  - VRT_memmove
  - VRT_ipcmp
  - VRT_blob
  - VRT_VSA_GetPtr
  - VRT_Format_Proxy
  - VRT_Endpoint_Clone
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Pool_Sumstat
  - Pool_TrySumstat
  - Pool_Task_Any
  - Pool_PurgeStat
  - pool_stat_summ
  - pool_mkpool
  - pool_poolherder
  - pan_pool
  - Pool_Init
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_pool.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_objhead.h
  types:
    enum:
    - enumerators:
      - name: HSH_MISS
      - name: HSH_HITMISS
      - name: HSH_GRACE
      - name: HSH_HIT
      - name: HSH_HITPASS
      - name: HSH_BUSY
      item_type: enum
      name: lookup_e
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_objhead.h
    preproc_defs:
    - item_type: preproc_def
      name: OBJHEAD_MAGIC
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_objhead.h
      type_or_value: '0x1b96615d'
    - item_type: preproc_def
      name: hoh_list
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_objhead.h
      type_or_value: _u.n.u_n_hoh_list
    - item_type: preproc_def
      name: hoh_head
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_objhead.h
      type_or_value: _u.n.u_n_hoh_head
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: refcnt
        type: int
      - name: mtx
        type: struct lock
      - name: (,objcore)
        type: VTAILQ_HEAD
      - name: digest[DIGEST_LEN]
        type: uint8_t
      - name: waitinglist_gen
        type: unsigned
      - name: waitinglist
        type: VTAILQ_HEAD
      - name: _u
        type: "union {\n\t\tstruct {\n\t\t\tVTAILQ_ENTRY(objhead)\tu_n_hoh_list;\n\t\t\tvoid\t\t\t*u_n_hoh_head;\n\t\t}
          n;\n\t}"
      item_type: struct
      name: objhead
      pos:
        line_end: 57
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_objhead.h
    typedefs: []
    union: []
- function_names:
  - REQ_STEP
  - cnt_transport
  - Resp_Setup_Deliver
  - Resp_Setup_Synth
  - cnt_deliver
  - cnt_vclfail
  - cnt_synth
  - cnt_transmit
  - cnt_finish
  - cnt_fetch
  - cnt_lookup
  - cnt_miss
  - cnt_pass
  - cnt_pipe
  - cnt_restart
  - cnt_recv_prep
  - cnt_recv
  - cnt_purge
  - cnt_diag
  - CNT_Embark
  - CNT_Request
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REQ_STEPS
      pos:
        line_end: 70
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_req_fsm.c
      type_or_value: "REQ_STEP(transport,           TRANSPORT,\t) \\\n  REQ_STEP(restart,
        \            RESTART,\tstatic) \\\n  REQ_STEP(recv,                RECV,\t\t)
        \\\n  REQ_STEP(pipe,                PIPE,\t\tstatic) \\\n  REQ_STEP(pass,
        \               PASS,\t\tstatic) \\\n  REQ_STEP(lookup,              LOOKUP,\t\tstatic)
        \\\n  REQ_STEP(purge,               PURGE,\t\tstatic) \\\n  REQ_STEP(miss,
        \               MISS,\t\tstatic) \\\n  REQ_STEP(fetch,               FETCH,\t\tstatic)
        \\\n  REQ_STEP(deliver,             DELIVER,\tstatic) \\\n  REQ_STEP(vclfail,
        \            VCLFAIL,\tstatic) \\\n  REQ_STEP(synth,               SYNTH,\t\tstatic)
        \\\n  REQ_STEP(transmit,            TRANSMIT,\tstatic) \\\n  REQ_STEP(finish,
        \             FINISH,\t\tstatic)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCL_Return_Name
  - VCL_RET_MAC
  - VCL_Method_Name
  - VCL_MET_MAC
  - VCL_Refresh
  - VCL_Recache
  - VCL_Ref
  - VCL_Rel
  - vcldir_free
  - vcldir_surplus
  - VRT_AddDirector
  - VRT_StaticDirector
  - vcldir_retire
  - vcldir_deref
  - VRT_DelDirector
  - VRT_Assign_Backend
  - VRT_DisableDirector
  - VRT_LookupDirector
  - VCL_DefaultDirector
  - VCL_Name
  - VCL_DefaultProbe
  - VRT_CTX_Assert
  - VRT_VCL_Prevent_Cold
  - VRT_VCL_Allow_Cold
  - VRT_VCL_Prevent_Discard
  - VRT_VCL_Allow_Discard
  - req_poll
  - vcl_call_method
  - VCL_MET_MAC
  - VRT_check_call
  - VRT_call
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_vrt_vcl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BODYSTATUS
  - HTTPH
  - http_hdr_flags
  - http_init_hdr
  - HTTP_Init
  - HTTPH
  - http_VSLH
  - http_VSLH_del
  - http_VSL_log
  - http_fail
  - http_Status2Reason
  - HTTP_estimate
  - HTTP_create
  - HTTP_Setup
  - http_Teardown
  - HTTP_Dup
  - HTTP_Clone
  - http_Proto
  - http_SetH
  - http_PutField
  - http_IsHdr
  - http_findhdr
  - http_CountHdr
  - http_CollectHdr
  - http_CollectHdrSep
  - http_GetHdr
  - http_split
  - http_istoken
  - http_GetHdrToken
  - http_GetHdrQ
  - http_GetHdrField
  - http_GetContentLength
  - http_GetContentRange
  - http_GetRange
  - http_DoConnection
  - http_HdrIs
  - http_GetStatus
  - http_IsStatus
  - http_SetStatus
  - http_GetMethod
  - http_ForceField
  - http_PutResponse
  - http_isfiltered
  - http_IsFiltered
  - http_EstimateWS
  - HTTP_Encode
  - HTTP_Decode
  - HTTP_GetStatusPack
  - HTTP_IterHdrPack
  - HTTP_GetHdrPack
  - HTTP_FOREACH_PACK
  - HTTP_Merge
  - http_linkh
  - http_FilterReq
  - http_CopyHome
  - http_SetHeader
  - http_ForceHeader
  - http_AppendHeader
  - http_PrintfHeader
  - http_TimeHeader
  - http_ViaHeader
  - http_Unset
  - http_SetWellKnownMethod
  - WKM
  source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GPERF_MIN_WORD_LENGTH
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
      type_or_value: '2'
    - item_type: preproc_def
      name: GPERF_MAX_WORD_LENGTH
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
      type_or_value: '19'
    - item_type: preproc_def
      name: GPERF_MAX_HASH_VALUE
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
      type_or_value: '79'
    structs:
    - fields:
      - name: '*hdr'
        type: hdr_t
      - name: flag
        type: unsigned
      item_type: struct
      name: http_hdrflg
      pos:
        line_end: 113
        line_start: 110
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    - fields:
      - name: nbr
        type: unsigned
      - name: '*status'
        type: char
      - name: '*txt'
        type: char
      item_type: struct
      name: http_msg
      pos:
        line_end: 306
        line_start: 302
        source_file: /src/vinyl-cache/bin/vinyld/cache/cache_http.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PP2_TYPE_ALPN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PP2_TYPE_AUTHORITY
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PP2_TYPE_CRC32C
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: PP2_TYPE_NOOP
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: PP2_TYPE_SSL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_VERSION
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x21'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_CN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x22'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_CIPHER
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x23'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_SIG_ALG
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x24'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_KEY_ALG
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x25'
    - item_type: preproc_def
      name: PP2_SUBTYPE_SSL_MAX
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy.h
      type_or_value: '0x25'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vpx_ws_err
  - vpx_proto1
  - crc32c
  - vpx_tlv_iter0
  - vpx_tlv_itern
  - VPX_TLV_FOREACH
  - VPX_tlv
  - vpx_proto2
  - VPX_TLV_FOREACH
  - vpx_complete
  - vpx_new_session
  - vpx_enc_addr
  - vpx_enc_port
  - vpx_enc_authority
  - vpx_format_proxy_v1
  - vpx_format_proxy_v2
  - VPX_Format_Proxy
  - VPX_Send_Proxy
  source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VPX_MAX_LEN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: VPX_TLV_MAGIC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
      type_or_value: '0xdeb9a4a5'
    - item_type: preproc_def
      name: PXY_BUFSZ
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
      type_or_value: '(sizeof(vpx1_sig) + 4 '
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: len
        type: unsigned
      - name: v_counted_by_(len)
        type: char
      item_type: struct
      name: vpx_tlv
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    - fields:
      - name: t
        type: uint8_t
      - name: '*p'
        type: void
      - name: l
        type: uint16_t
      - name: '*e'
        type: char
      - name: '*_p'
        type: unsigned char
      - name: _l
        type: uint16_t
      item_type: struct
      name: vpx_tlv_iter
      pos:
        line_end: 249
        line_start: 241
        source_file: /src/vinyl-cache/bin/vinyld/proxy/cache_proxy_proto.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/bin/vinyltop/vinyltop_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOP_OPT_1
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/vinyl-cache/bin/vinyltop/vinyltop_options.h
      type_or_value: "VOPT(\"1\", \"[-1]\", \"Run once\",\t\t\t\t\t\\\n\t    \"Instead
        of a continuously updated display, print the\"\t\\\n\t    \" statistics once
        and exit. Implies ``-d``.\"\t\t\\\n\t)"
    - item_type: preproc_def
      name: TOP_OPT_d
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/vinyl-cache/bin/vinyltop/vinyltop_options.h
      type_or_value: "VOPT(\"d\", \"[-d]\", \"Process old log entries\",\t\t\t\\\n\t
        \   \"Process log records at the head of the log.\"\t\t\\\n\t)"
    - item_type: preproc_def
      name: TOP_OPT_f
      pos:
        line_end: 54
        line_start: 46
        source_file: /src/vinyl-cache/bin/vinyltop/vinyltop_options.h
      type_or_value: "VOPT(\"f\", \"[-f]\", \"First field only\",\t\t\t\t\\\n\t    \"Sort
        and group only on the first field of each log entry.\"\t\\\n\t    \" For log
        entries in the form ``prefix: value`` it is the\"\t\\\n\t    \" prefix without
        the colon that is sorted and grouped.\"\t\\\n\t    \" This is useful when
        displaying e.g. ReqStart entries,\"\t\\\n\t    \" where the first field is
        the client IP address.\"\t\t\\\n\t)"
    - item_type: preproc_def
      name: TOP_OPT_p
      pos:
        line_end: 63
        line_start: 55
        source_file: /src/vinyl-cache/bin/vinyltop/vinyltop_options.h
      type_or_value: "VOPT(\"p:\", \"[-p <period>]\", \"Sampling period\",\t\t\t\\\n\t
        \   \"Specified the number of seconds to measure over, the\"\t\\\n\t    \"
        default is 60 seconds. The first number in the list is\"\t\\\n\t    \" the
        average number of requests seen over this time\"\t\\\n\t    \" period.\"\t\t\t\t\t\t\t\\\n\t
        \   \" This option has no effect if -1 option is also used.\"\t\\\n\t)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - cmp_key
  - cmp_order
  - accumulate
  - update
  - do_curses
  - dump
  - main
  source_file: /src/vinyl-cache/bin/vinyltop/vinyltop.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VOPT_INC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/bin/vinyltop/vinyltop.c
      type_or_value: '"vinyltop_options.h"'
    structs:
    - fields:
      - name: tag
        type: uint8_t
      - name: '*rec_data'
        type: char
      - name: '*rec_buf'
        type: char
      - name: clen
        type: int
      - name: hash
        type: unsigned
      - name: e_order
        type: VRBT_ENTRY
      - name: e_key
        type: VRBT_ENTRY
      - name: count
        type: double
      item_type: struct
      name: top
      pos:
        line_end: 71
        line_start: 62
        source_file: /src/vinyl-cache/bin/vinyltop/vinyltop.c
    typedefs: []
    union: []
- function_names:
  - VTAILQ_ENTRY
  - VSTAILQ_ENTRY
  - VTAILQ_HEAD
  - VSTAILQ_HEAD
  - VTAILQ_HEAD_INITIALIZER
  - VSTAILQ_HEAD_INITIALIZER
  - VTAILQ_FOREACH
  - VTAILQ_FOREACH_SAFE
  - VTAILQ_FOREACH_REVERSE
  - VRBT_ENTRY
  - VRBT_HEAD
  - VRBT_INITIALIZER
  - ASSERT_MGT
  - VPFX
  - VARGS
  source_file: /src/vinyl-cache/tools/coccinelle/vdef.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRT_CTX
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/vinyl-cache/tools/coccinelle/vdef.h
      type_or_value: const struct vrt_ctx *ctx
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vsha256.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSHA256_LEN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: '32'
    - item_type: preproc_def
      name: VSHA256_DIGEST_LENGTH
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: '32'
    - item_type: preproc_def
      name: SHA256_LEN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256_LEN
    - item_type: preproc_def
      name: SHA256_DIGEST_LENGTH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256_DIGEST_LENGTH
    - item_type: preproc_def
      name: SHA256Context
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256Context
    - item_type: preproc_def
      name: SHA256_CTX
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256_CTX
    - item_type: preproc_def
      name: SHA256_Init
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256_Init
    - item_type: preproc_def
      name: SHA256_Update
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256_Update
    - item_type: preproc_def
      name: SHA256_Final
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256_Final
    - item_type: preproc_def
      name: SHA256_Test
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/include/vsha256.h
      type_or_value: VSHA256_Test
    structs:
    - fields:
      - name: state[8]
        type: uint32_t
      - name: count
        type: uint64_t
      - name: buf[64]
        type: unsigned char
      item_type: struct
      name: VSHA256Context
      pos:
        line_end: 40
        line_start: 36
        source_file: /src/vinyl-cache/include/vsha256.h
    typedefs: []
    union: []
- function_names:
  - VBITMAP_IDX
  - VBITMAP_BIT
  - vbit_rndup
  - vbit_expand
  - VBITMAP_SZ
  - vbit_init
  - vbit_new
  - vbit_destroy
  - vbit_set
  - vbit_clr
  - vbit_test
  source_file: /src/vinyl-cache/include/vbm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VBITMAP_TYPE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/include/vbm.h
      type_or_value: "unsigned\t"
    - item_type: preproc_def
      name: VBITMAP_LUMP
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/include/vbm.h
      type_or_value: "(1024)\t\t"
    - item_type: preproc_def
      name: VBITMAP_WORD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/include/vbm.h
      type_or_value: (sizeof(VBITMAP_TYPE) * 8)
    - item_type: preproc_def
      name: VBITMAP_FL_MALLOC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/include/vbm.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: VBITMAP_FL_MALLOC_BITS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/include/vbm.h
      type_or_value: "(1<<1)\t"
    structs:
    - fields:
      - name: flags
        type: unsigned
      - name: '*bits'
        type: VBITMAP_TYPE
      - name: nbits
        type: unsigned
      item_type: struct
      name: vbitmap
      pos:
        line_end: 63
        line_start: 56
        source_file: /src/vinyl-cache/include/vbm.h
    typedefs: []
    union: []
- function_names:
  - VSLIST_HEAD_INITIALIZER
  - VSLIST_EMPTY
  - VSLIST_FIRST
  - VSLIST_FOREACH
  - VSLIST_FOREACH_FROM
  - VSLIST_FOREACH_SAFE
  - VSLIST_FOREACH_FROM_SAFE
  - VSLIST_FOREACH_PREVPTR
  - VSLIST_INIT
  - VSLIST_INSERT_AFTER
  - VSLIST_INSERT_HEAD
  - VSLIST_NEXT
  - VSLIST_REMOVE
  - VSLIST_REMOVE_AFTER
  - VSLIST_REMOVE_HEAD
  - VSLIST_SWAP
  - VSTAILQ_HEAD
  - VSTAILQ_HEAD_INITIALIZER
  - VSTAILQ_CONCAT
  - VSTAILQ_EMPTY
  - VSTAILQ_FIRST
  - VSTAILQ_FOREACH
  - VSTAILQ_FOREACH_FROM
  - VSTAILQ_FOREACH_SAFE
  - VSTAILQ_FOREACH_FROM_SAFE
  - VSTAILQ_INIT
  - VSTAILQ_INSERT_AFTER
  - VSTAILQ_INSERT_HEAD
  - VSTAILQ_INSERT_TAIL
  - VSTAILQ_LAST
  - VSTAILQ_NEXT
  - VSTAILQ_REMOVE
  - VSTAILQ_REMOVE_AFTER
  - VSTAILQ_REMOVE_HEAD
  - VSTAILQ_SWAP
  - VLIST_HEAD_INITIALIZER
  - VLIST_ENTRY
  - VLIST_EMPTY
  - VLIST_FIRST
  - VLIST_FOREACH
  - VLIST_FOREACH_FROM
  - VLIST_FOREACH_SAFE
  - VLIST_FOREACH_FROM_SAFE
  - VLIST_INIT
  - VLIST_INSERT_AFTER
  - VLIST_INSERT_BEFORE
  - VLIST_INSERT_HEAD
  - VLIST_NEXT
  - VLIST_PREV
  - VLIST_REMOVE
  - VLIST_SWAP
  - VTAILQ_HEAD
  - VTAILQ_HEAD_INITIALIZER
  - VTAILQ_ENTRY
  - VTAILQ_CONCAT
  - VTAILQ_EMPTY
  - VTAILQ_FIRST
  - VTAILQ_FOREACH
  - VTAILQ_FOREACH_FROM
  - VTAILQ_FOREACH_SAFE
  - VTAILQ_FOREACH_FROM_SAFE
  - VTAILQ_FOREACH_REVERSE
  - VTAILQ_FOREACH_REVERSE_FROM
  - VTAILQ_FOREACH_REVERSE_SAFE
  - VTAILQ_FOREACH_REVERSE_FROM_SAFE
  - VTAILQ_INIT
  - VTAILQ_INSERT_AFTER
  - VTAILQ_INSERT_BEFORE
  - VTAILQ_INSERT_HEAD
  - VTAILQ_INSERT_TAIL
  - VTAILQ_LAST
  - VTAILQ_NEXT
  - VTAILQ_PREV
  - VTAILQ_REMOVE
  - VTAILQ_SWAP
  source_file: /src/vinyl-cache/include/vqueue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vfl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vcs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert
  - assert
  - xxxassert
  - AZ
  - AN
  - XXXAZ
  - XXXAN
  - diagnostic
  - WRONG
  - _PTOK
  - PTOK
  - INCOMPL
  - __has_extension
  - v_static_assert
  - v_static_assert
  - __v_static_assert
  - ___v_static_assert
  - pdiff
  source_file: /src/vinyl-cache/include/vas.h
  types:
    enum:
    - enumerators:
      - name: VAS_WRONG
      - name: VAS_INCOMPLETE
      - name: VAS_VCL
      - name: VAS_MISSING
      - name: VAS_ASSERT
      item_type: enum
      name: vas_e
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/vinyl-cache/include/vas.h
    preproc_defs:
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/vinyl-cache/include/vas.h
      type_or_value: static_assert
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/vinyl-cache/include/vas.h
      type_or_value: _Static_assert
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vinyl-cache/include/vas.h
      type_or_value: _Static_assert
    - item_type: preproc_def
      name: v_static_assert
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/vinyl-cache/include/vas.h
      type_or_value: _Static_assert
    structs: []
    typedefs:
    - item_type: typedef
      name: vas_f(const char *, const char *, int, const char *, enum vas_e)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/include/vas.h
      type: void
    union: []
- function_names:
  - bprintf
  - vbprintf
  - bstrcpy
  - closefd
  - __has_feature
  - __GNUC_PREREQ__
  - __GNUC_PREREQ__
  - v_printflike_
  - v_gcov_flush
  - v_gcov_flush
  - v_gcov_flush
  - v_gcov_flush
  - PAOK
  - PRNDDN
  - PRNDUP
  - TRUST_ME
  - PWR2
  - RDN2
  - RUP2
  - VINDIRECT
  - VCOMBINE
  - VUNIQ_NAME
  - VUNIQ_NAME
  - typeof
  - _vtake
  - vtake
  - vmin
  - vmax
  - vmin_t
  - vmax_t
  - vlimit
  - vlimit_t
  - vcountof
  - v_statevariable_
  - NEEDLESS
  - NEEDLESS
  - v_used_
  - v_counted_by_
  - Tcheck
  - Tlen
  - Tstreq
  - Tforeach
  - LIKELY
  - UNLIKELY
  - __DEQUALIFY
  - __containerof
  - __containerof
  - __has_builtin
  - vstrcmp
  - vstrcmp
  - vstrlen
  - vstrlen
  - vmemcmp
  - vmemcmp
  source_file: /src/vinyl-cache/include/vdef.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: v_noreturn_
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: v_deprecated_
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: __attribute__((deprecated))
    - item_type: preproc_def
      name: v_dont_optimize
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: __attribute__((optimize("O")))
    - item_type: preproc_def
      name: VRT_INTEGER_MAX
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: '999999999999999'
    - item_type: preproc_def
      name: VRT_INTEGER_MIN
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: '-999999999999999'
    - item_type: preproc_def
      name: VRT_DECIMAL_MAX
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: 0x1.d1a94a1fffff8p+39
    - item_type: preproc_def
      name: VRT_DECIMAL_MIN
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: -0x1.d1a94a1fffff8p+39
    - item_type: preproc_def
      name: PALGN
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: "(sizeof(double) - 1)\t"
    - item_type: preproc_def
      name: PALGN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: "(sizeof(void *) - 1)\t"
    - item_type: preproc_def
      name: opmin
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: <
    - item_type: preproc_def
      name: opmax
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: '>'
    - item_type: preproc_def
      name: v_unused_
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: __attribute__((__unused__))
    - item_type: preproc_def
      name: v_cold_
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: __attribute__((cold))
    - item_type: preproc_def
      name: txt
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/vinyl-cache/include/vdef.h
      type_or_value: ){(s), (s) + strlen(s)})
    structs:
    - fields:
      - name: '*b'
        type: char
      - name: '*e'
        type: char
      item_type: struct
      name: txt
      pos:
        line_end: 282
        line_start: 279
        source_file: /src/vinyl-cache/include/vdef.h
    typedefs:
    - item_type: typedef
      name: vtim_mono
      pos:
        line_end: 271
        line_start: 271
        source_file: /src/vinyl-cache/include/vdef.h
      type: double
    - item_type: typedef
      name: vtim_real
      pos:
        line_end: 272
        line_start: 272
        source_file: /src/vinyl-cache/include/vdef.h
      type: double
    - item_type: typedef
      name: vtim_dur
      pos:
        line_end: 273
        line_start: 273
        source_file: /src/vinyl-cache/include/vdef.h
      type: double
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vav.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARGV_COMMENT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/include/vav.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: ARGV_COMMA
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/include/vav.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: ARGV_NOESC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/include/vav.h
      type_or_value: (1 << 2)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vpf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vte.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: VTE_format_f(void *priv, const char *fmt, ...)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vinyl-cache/include/vte.h
      type: int
    union: []
- function_names:
  - VUS_is
  source_file: /src/vinyl-cache/include/vus.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vus_resolved_f(void *priv, const struct sockaddr_un *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vinyl-cache/include/vus.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VUT_InitProg
  source_file: /src/vinyl-cache/include/vut.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VUT_MAGIC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/include/vut.h
      type_or_value: '0xdf3b3de8'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*progname'
        type: char
      - name: dryrun_opt
        type: int
      - name: d_opt
        type: int
      - name: D_opt
        type: int
      - name: g_arg
        type: int
      - name: k_arg
        type: int
      - name: '*n_arg'
        type: char
      - name: '*P_arg'
        type: char
      - name: '*q_arg'
        type: char
      - name: '*r_arg'
        type: char
      - name: '*t_arg'
        type: char
      - name: '*vsl'
        type: struct VSL_data
      - name: '*vsm'
        type: struct vsm
      - name: '*vslq'
        type: struct VSLQ
      - name: last_sighup
        type: sig_atomic_t
      - name: last_sigusr1
        type: sig_atomic_t
      - name: '*idle_f'
        type: VUT_cb_f
      - name: '*sighup_f'
        type: VUT_cb_f
      - name: '*error_f'
        type: VUT_error_f
      - name: '*dispatch_f'
        type: VSLQ_dispatch_f
      - name: '*dispatch_priv'
        type: void
      item_type: struct
      name: VUT
      pos:
        line_end: 71
        line_start: 40
        source_file: /src/vinyl-cache/include/vut.h
    typedefs:
    - item_type: typedef
      name: VUT_sighandler_f(int)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vinyl-cache/include/vut.h
      type: void
    - item_type: typedef
      name: VUT_cb_f(struct VUT *)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/vinyl-cache/include/vut.h
      type: int
    - item_type: typedef
      name: VUT_error_f(struct VUT *, int, const char *, va_list)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vinyl-cache/include/vut.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vfil.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vfil_path_func_f(void *priv, const char *fn)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vinyl-cache/include/vfil.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vsl_priv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSL_HEAD_MARKER
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/include/vsl_priv.h
      type_or_value: "\"VSLHEAD2\"\t"
    structs:
    - fields:
      - name: marker[8]
        type: char
      - name: segsize
        type: ssize_t
      - name: segment_n
        type: unsigned
      - name: offset[VSL_SEGMENTS]
        type: ssize_t
      - name: v_counted_by_(segment_n)
        type: uint32_t
      item_type: struct
      name: VSL_head
      pos:
        line_end: 66
        line_start: 59
        source_file: /src/vinyl-cache/include/vsl_priv.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vrnd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vrnd_lock_f(void)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/vinyl-cache/include/vrnd.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vsb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSB_MAGIC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '0x4a82dd8a'
    - item_type: preproc_def
      name: VSB_FIXEDLEN
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: "0x00000000\t"
    - item_type: preproc_def
      name: VSB_AUTOEXTEND
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: "0x00000001\t"
    - item_type: preproc_def
      name: VSB_USRFLAGMSK
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: "0x0000ffff\t"
    - item_type: preproc_def
      name: VSB_DYNAMIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: "0x00010000\t"
    - item_type: preproc_def
      name: VSB_FINISHED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: "0x00020000\t"
    - item_type: preproc_def
      name: VSB_DYNSTRUCT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: "0x00080000\t"
    - item_type: preproc_def
      name: VSB_QUOTE_PLAIN
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VSB_QUOTE_JSON
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: VSB_QUOTE_HEX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: VSB_QUOTE_CSTR
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '8'
    - item_type: preproc_def
      name: VSB_QUOTE_UNSAFE
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '16'
    - item_type: preproc_def
      name: VSB_QUOTE_NONL
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VSB_QUOTE_ESCHEX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '32'
    - item_type: preproc_def
      name: VSB_QUOTE_ABBREVIATE
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/vinyl-cache/include/vsb.h
      type_or_value: '64'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: s_error
        type: int
      - name: '*s_buf'
        type: char
      - name: s_size
        type: ssize_t
      - name: s_len
        type: ssize_t
      - name: s_flags
        type: int
      - name: s_indent
        type: int
      item_type: struct
      name: vsb
      pos:
        line_end: 53
        line_start: 38
        source_file: /src/vinyl-cache/include/vsb.h
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/vinyl-cache/include/vbm_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vcli.h
  types:
    enum:
    - enumerators:
      - name: CLIS_SYNTAX
        value: '100'
      - name: CLIS_TOOMANY
        value: '105'
      - name: CLIS_UNIMPL
        value: '102'
      - name: CLIS_TOOFEW
        value: '104'
      - name: CLIS_UNKNOWN
        value: '101'
      - name: CLIS_PARAM
        value: '106'
      - name: CLIS_AUTH
        value: '107'
      - name: CLIS_OK
        value: '200'
      - name: CLIS_TRUNCATED
        value: '201'
      - name: CLIS_CANT
        value: '300'
      - name: CLIS_CLOSE
        value: '500'
      - name: CLIS_COMMS
        value: '400'
      item_type: enum
      name: VCLI_status_e
      pos:
        line_end: 56
        line_start: 43
        source_file: /src/vinyl-cache/include/vcli.h
    preproc_defs:
    - item_type: preproc_def
      name: CLI_LINE0_LEN
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/include/vcli.h
      type_or_value: '13'
    - item_type: preproc_def
      name: CLI_AUTH_RESPONSE_LEN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/include/vcli.h
      type_or_value: "64\t"
    structs: []
    typedefs: []
    union: []
- function_names:
  - VWMB
  - VRMB
  - VWMB
  - VRMB
  - VWMB
  - VRMB
  - VWMB
  - VRMB
  - VWMB
  - VRMB
  source_file: /src/vinyl-cache/include/vmb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMB_NEEDS_PTHREAD_WORKAROUND_THIS_IS_BAD_FOR_PERFORMANCE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/include/vmb.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vsm_priv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSM_MGT_DIRNAME
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/include/vsm_priv.h
      type_or_value: '"_.vsm_mgt"'
    - item_type: preproc_def
      name: VSM_CHILD_DIRNAME
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/include/vsm_priv.h
      type_or_value: '"_.vsm_child"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vsc_priv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSC_CLASS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/include/vsc_priv.h
      type_or_value: '"Stat"'
    - item_type: preproc_def
      name: VSC_DOC_CLASS
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/include/vsc_priv.h
      type_or_value: '"StatDoc"'
    structs:
    - fields:
      - name: ready
        type: int
      - name: body_offset
        type: uint64_t
      - name: doc_id
        type: uintmax_t
      item_type: struct
      name: vsc_head
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/vinyl-cache/include/vsc_priv.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vnum.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VNUM_EPSILON
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/include/vnum.h
      type_or_value: (1e-9)
    - item_type: preproc_def
      name: VNUM_LEGAL_DURATION
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/vinyl-cache/include/vnum.h
      type_or_value: '"Legal duration units are ''ms'', ''s'', ''m'', ''h'', ''d'',
        ''w'' and ''y''"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - AC
  - IC
  - AC
  - IC
  source_file: /src/vinyl-cache/include/vcurses.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vss.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vss_resolved_f(void *priv, const struct suckaddr *)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vinyl-cache/include/vss.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vsa.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TOSTRAND
  - TOSTRANDS
  - VRT_BACKEND_FIELDS
  - VRT_BACKEND_INIT
  - VRT_BACKEND_HANDLE
  - VRT_BACKEND_PROBE_FIELDS
  - VRT_BACKEND_PROBE_HANDLE
  - HDR
  - CHECK_HDR
  - CAST_HDR
  source_file: /src/vinyl-cache/include/vrt.h
  types:
    enum:
    - enumerators:
      - name: VSUB_STATIC
      - name: VSUB_DYNAMIC
      - name: VSUB_CHECK
      item_type: enum
      name: vcl_func_call_e
      pos:
        line_end: 542
        line_start: 538
        source_file: /src/vinyl-cache/include/vrt.h
    - enumerators:
      - name: VSUB_E_OK
      - name: VSUB_E_RECURSE
      - name: VSUB_E_METHOD
      item_type: enum
      name: vcl_func_fail_e
      pos:
        line_end: 548
        line_start: 544
        source_file: /src/vinyl-cache/include/vrt.h
    - enumerators:
      - name: VCL_EVENT_LOAD
      - name: VDI_EVENT_SICK
      - name: VCL_EVENT_DISCARD
      - name: VCL_EVENT_COLD
      - name: VCL_EVENT_WARM
      item_type: enum
      name: vcl_event_e
      pos:
        line_end: 587
        line_start: 580
        source_file: /src/vinyl-cache/include/vrt.h
    - enumerators:
      - name: HDR_REQ
      - name: HDR_REQ_TOP
      - name: HDR_RESP
      - name: HDR_BEREQ
      - name: HDR_OBJ
      - name: HDR_BERESP
      - name: HDR_OBJ_STALE
      item_type: enum
      name: gethdr_e
      pos:
        line_end: 765
        line_start: 757
        source_file: /src/vinyl-cache/include/vrt.h
    - enumerators:
      - name: LBODY_SET_STRING
      - name: LBODY_ADD_BLOB
      - name: LBODY_SET_BLOB
      - name: LBODY_ADD_STRING
      item_type: enum
      name: lbody_e
      pos:
        line_end: 811
        line_start: 806
        source_file: /src/vinyl-cache/include/vrt.h
    preproc_defs:
    - item_type: preproc_def
      name: VRT_MAJOR_VERSION
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: 23U
    - item_type: preproc_def
      name: VRT_MINOR_VERSION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: 0U
    - item_type: preproc_def
      name: STRANDS_MAGIC
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0x5d5ab196'
    - item_type: preproc_def
      name: VRT_BLOB_MAGIC
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0xe114db9e'
    - item_type: preproc_def
      name: VRT_NULL_BLOB_TYPE
      pos:
        line_end: 455
        line_start: 454
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0xfade4fa0'
    - item_type: preproc_def
      name: VRT_CTX_MAGIC
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0x6bb8f0db'
    - item_type: preproc_def
      name: VRT_CTX
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: const struct vrt_ctx *ctx
    - item_type: preproc_def
      name: VRT_ENDPOINT_MAGIC
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0xcc419347'
    - item_type: preproc_def
      name: VRT_BACKEND_MAGIC
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0x4799ce6c'
    - item_type: preproc_def
      name: VRT_BACKEND_PROBE_MAGIC
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0x84998490'
    - item_type: preproc_def
      name: LBODY_SET
      pos:
        line_end: 814
        line_start: 813
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: LBODY_SET_STRING
    - item_type: preproc_def
      name: LBODY_ADD
      pos:
        line_end: 815
        line_start: 814
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: LBODY_ADD_STRING
    - item_type: preproc_def
      name: VDI_METHODS_MAGIC
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0x4ec0c4bb'
    - item_type: preproc_def
      name: DIRECTOR_MAGIC
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0x3336351d'
    - item_type: preproc_def
      name: VMOD_PRIV_METHODS_MAGIC
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/vinyl-cache/include/vrt.h
      type_or_value: '0xcea5ff99'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: n
        type: int
      - name: '**p'
        type: char
      item_type: struct
      name: strands
      pos:
        line_end: 412
        line_start: 407
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: type
        type: unsigned
      - name: len
        type: size_t
      - name: '*blob'
        type: void
      item_type: struct
      name: vrt_blob
      pos:
        line_end: 452
        line_start: 446
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: syntax
        type: unsigned
      - name: vclver
        type: unsigned
      - name: method
        type: unsigned
      - name: '*vpi'
        type: struct wrk_vpi
      - name: '*msg'
        type: struct vsb
      - name: '*vsl'
        type: struct vsl_log
      - name: vcl
        type: VCL_VCL
      - name: '*ws'
        type: struct ws
      - name: '*sp'
        type: struct sess
      - name: '*req'
        type: struct req
      - name: http_req
        type: VCL_HTTP
      - name: http_req_top
        type: VCL_HTTP
      - name: http_resp
        type: VCL_HTTP
      - name: '*bo'
        type: struct busyobj
      - name: http_bereq
        type: VCL_HTTP
      - name: http_beresp
        type: VCL_HTTP
      - name: now
        type: vtim_real
      - name: '*specific'
        type: void
      - name: '*called'
        type: void
      item_type: struct
      name: vrt_ctx
      pos:
        line_end: 533
        line_start: 492
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: vrt_major
        type: unsigned
      - name: vrt_minor
        type: unsigned
      - name: '*file_id'
        type: char
      - name: '*name'
        type: char
      - name: '*func_name'
        type: char
      - name: '*func'
        type: void
      - name: func_len
        type: int
      - name: '*proto'
        type: char
      - name: '*json'
        type: char
      - name: '*abi'
        type: char
      - name: '*vcs'
        type: char
      - name: '*version'
        type: char
      item_type: struct
      name: vmod_data
      pos:
        line_end: 572
        line_start: 557
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: ipv4
        type: VCL_IP
      - name: ipv6
        type: VCL_IP
      - name: '*uds_path'
        type: char
      - name: '*preamble'
        type: struct vrt_blob
      item_type: struct
      name: vrt_endpoint
      pos:
        line_end: 670
        line_start: 663
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*endpoint'
        type: struct vrt_endpoint
      - name: (const)
        type: VRT_BACKEND_FIELDS
      - name: probe
        type: VCL_PROBE
      item_type: struct
      name: vrt_backend
      pos:
        line_end: 713
        line_start: 707
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*url'
        type: char
      - name: '*request'
        type: char
      - name: (const)
        type: VRT_BACKEND_PROBE_FIELDS
      - name: '*vcl_name'
        type: char
      item_type: struct
      name: vrt_backend_probe
      pos:
        line_end: 742
        line_start: 735
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: len
        type: unsigned char
      - name: str[]
        type: char
      item_type: struct
      name: '*hdr_t'
      pos:
        line_end: 770
        line_start: 767
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: where
        type: enum gethdr_e
      - name: what
        type: hdr_t
      item_type: struct
      name: gethdr_s
      pos:
        line_end: 797
        line_start: 794
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*type'
        type: char
      - name: '*http1pipe'
        type: vdi_http1pipe_f
      - name: '*healthy'
        type: vdi_healthy_f
      - name: '*resolve'
        type: vdi_resolve_f
      - name: '*gethdrs'
        type: vdi_gethdrs_f
      - name: '*getip'
        type: vdi_getip_f
      - name: '*finish'
        type: vdi_finish_f
      - name: '*event'
        type: vdi_event_f
      - name: '*release'
        type: vdi_release_f
      - name: '*destroy'
        type: vdi_destroy_f
      - name: '*panic'
        type: vdi_panic_f
      - name: '*list'
        type: vdi_list_f
      item_type: struct
      name: vdi_methods
      pos:
        line_end: 866
        line_start: 849
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*priv'
        type: void
      - name: '*vcl_name'
        type: char
      - name: '*vdir'
        type: struct vcldir
      - name: '*mtx'
        type: struct lock
      item_type: struct
      name: director
      pos:
        line_end: 875
        line_start: 868
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*type'
        type: char
      - name: '*fini'
        type: vmod_priv_fini_f
      item_type: struct
      name: vmod_priv_methods
      pos:
        line_end: 897
        line_start: 892
        source_file: /src/vinyl-cache/include/vrt.h
    - fields:
      - name: '*priv'
        type: void
      - name: len
        type: long
      - name: '*methods'
        type: struct vmod_priv_methods
      item_type: struct
      name: vmod_priv
      pos:
        line_end: 903
        line_start: 899
        source_file: /src/vinyl-cache/include/vrt.h
    typedefs:
    - item_type: typedef
      name: '*stream_close_t'
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/vinyl-cache/include/vrt.h
      type: stream_close
    - item_type: typedef
      name: "*\t\t\tVCL_ACL"
      pos:
        line_end: 463
        line_start: 463
        source_file: /src/vinyl-cache/include/vrt.h
      type: vrt_acl
    - item_type: typedef
      name: "*\t\t\tVCL_BACKEND"
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/vinyl-cache/include/vrt.h
      type: director
    - item_type: typedef
      name: "*\t\t\tVCL_BLOB"
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/vinyl-cache/include/vrt.h
      type: vrt_blob
    - item_type: typedef
      name: "*\t\t\t\tVCL_BODY"
      pos:
        line_end: 466
        line_start: 466
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: VCL_BOOL
      pos:
        line_end: 467
        line_start: 467
        source_file: /src/vinyl-cache/include/vrt.h
      type: unsigned
    - item_type: typedef
      name: VCL_BYTES
      pos:
        line_end: 468
        line_start: 468
        source_file: /src/vinyl-cache/include/vrt.h
      type: int64_t
    - item_type: typedef
      name: VCL_DURATION
      pos:
        line_end: 469
        line_start: 469
        source_file: /src/vinyl-cache/include/vrt.h
      type: vtim_dur
    - item_type: typedef
      name: "*\t\t\t\tVCL_ENUM"
      pos:
        line_end: 470
        line_start: 470
        source_file: /src/vinyl-cache/include/vrt.h
      type: char
    - item_type: typedef
      name: "*\t\t\tVCL_HEADER"
      pos:
        line_end: 471
        line_start: 471
        source_file: /src/vinyl-cache/include/vrt.h
      type: gethdr_s
    - item_type: typedef
      name: "*\t\t\t\tVCL_HTTP"
      pos:
        line_end: 472
        line_start: 472
        source_file: /src/vinyl-cache/include/vrt.h
      type: http
    - item_type: typedef
      name: VCL_INSTANCE
      pos:
        line_end: 473
        line_start: 473
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: VCL_INT
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/vinyl-cache/include/vrt.h
      type: int64_t
    - item_type: typedef
      name: "*\t\t\tVCL_IP"
      pos:
        line_end: 475
        line_start: 475
        source_file: /src/vinyl-cache/include/vrt.h
      type: suckaddr
    - item_type: typedef
      name: "*\tVCL_PROBE"
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/vinyl-cache/include/vrt.h
      type: vrt_backend_probe
    - item_type: typedef
      name: VCL_REAL
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/vinyl-cache/include/vrt.h
      type: double
    - item_type: typedef
      name: "*\t\t\tVCL_REGEX"
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/vinyl-cache/include/vrt.h
      type: vre
    - item_type: typedef
      name: "*\t\tVCL_STEVEDORE"
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/vinyl-cache/include/vrt.h
      type: stevedore
    - item_type: typedef
      name: "*\t\t\tVCL_STRANDS"
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/vinyl-cache/include/vrt.h
      type: strands
    - item_type: typedef
      name: "*\t\t\t\tVCL_STRING"
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/vinyl-cache/include/vrt.h
      type: char
    - item_type: typedef
      name: "*\t\t\tVCL_SUB"
      pos:
        line_end: 482
        line_start: 482
        source_file: /src/vinyl-cache/include/vrt.h
      type: vcl_sub
    - item_type: typedef
      name: VCL_TIME
      pos:
        line_end: 483
        line_start: 483
        source_file: /src/vinyl-cache/include/vrt.h
      type: vtim_real
    - item_type: typedef
      name: "*\t\t\t\tVCL_VCL"
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/vinyl-cache/include/vrt.h
      type: vcl
    - item_type: typedef
      name: VCL_VOID
      pos:
        line_end: 485
        line_start: 485
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vcl_func_f(VRT_CTX, enum vcl_func_call_e, enum vcl_func_fail_e *)
      pos:
        line_end: 550
        line_start: 550
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vmod_event_f(VRT_CTX, struct vmod_priv *, enum vcl_event_e)
      pos:
        line_end: 589
        line_start: 589
        source_file: /src/vinyl-cache/include/vrt.h
      type: int
    - item_type: typedef
      name: vdi_healthy_f(VRT_CTX, VCL_BACKEND, VCL_TIME *)
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/vinyl-cache/include/vrt.h
      type: VCL_BOOL
    - item_type: typedef
      name: vdi_resolve_f(VRT_CTX, VCL_BACKEND)
      pos:
        line_end: 838
        line_start: 838
        source_file: /src/vinyl-cache/include/vrt.h
      type: VCL_BACKEND
    - item_type: typedef
      name: vdi_gethdrs_f(VRT_CTX, VCL_BACKEND)
      pos:
        line_end: 839
        line_start: 839
        source_file: /src/vinyl-cache/include/vrt.h
      type: int
    - item_type: typedef
      name: vdi_getip_f(VRT_CTX, VCL_BACKEND)
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/vinyl-cache/include/vrt.h
      type: VCL_IP
    - item_type: typedef
      name: vdi_finish_f(VRT_CTX, VCL_BACKEND)
      pos:
        line_end: 841
        line_start: 841
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vdi_http1pipe_f(VRT_CTX, VCL_BACKEND)
      pos:
        line_end: 842
        line_start: 842
        source_file: /src/vinyl-cache/include/vrt.h
      type: stream_close_t
    - item_type: typedef
      name: vdi_event_f(VCL_BACKEND, enum vcl_event_e)
      pos:
        line_end: 843
        line_start: 843
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vdi_release_f(VCL_BACKEND)
      pos:
        line_end: 844
        line_start: 844
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vdi_destroy_f(VCL_BACKEND)
      pos:
        line_end: 845
        line_start: 845
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vdi_panic_f(VCL_BACKEND, struct vsb *)
      pos:
        line_end: 846
        line_start: 846
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vdi_list_f(VRT_CTX, VCL_BACKEND, struct vsb *, int, int)
      pos:
        line_end: 847
        line_start: 847
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    - item_type: typedef
      name: vmod_priv_fini_f(VRT_CTX, void *)
      pos:
        line_end: 890
        line_start: 890
        source_file: /src/vinyl-cache/include/vrt.h
      type: void
    union: []
- function_names:
  - VJSN_TYPE_MACRO
  source_file: /src/vinyl-cache/include/vjsn.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VJSN_TYPES
      pos:
        line_end: 38
        line_start: 30
        source_file: /src/vinyl-cache/include/vjsn.h
      type_or_value: "VJSN_TYPE_MACRO(OBJECT, object) \\\n\tVJSN_TYPE_MACRO(ARRAY,
        array) \\\n\tVJSN_TYPE_MACRO(NUMBER, number) \\\n\tVJSN_TYPE_MACRO(STRING,
        string) \\\n\tVJSN_TYPE_MACRO(TRUE, true) \\\n\tVJSN_TYPE_MACRO(FALSE, false)
        \\\n\tVJSN_TYPE_MACRO(NULL, null)"
    - item_type: preproc_def
      name: VJSN_VAL_MAGIC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/include/vjsn.h
      type_or_value: '0x08a06b80'
    - item_type: preproc_def
      name: VJSN_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/include/vjsn.h
      type_or_value: '0x86a7f02b'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*type'
        type: char
      - name: '*name'
        type: char
      - name: '*name_e'
        type: char
      - name: (vjsn_val)
        type: VTAILQ_ENTRY
      - name: (,vjsn_val)
        type: VTAILQ_HEAD
      - name: '*value'
        type: char
      - name: '*value_e'
        type: char
      item_type: struct
      name: vjsn_val
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/vinyl-cache/include/vjsn.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*raw'
        type: char
      - name: '*ptr'
        type: char
      - name: '*value'
        type: struct vjsn_val
      - name: '*err'
        type: char
      item_type: struct
      name: vjsn
      pos:
        line_end: 59
        line_start: 51
        source_file: /src/vinyl-cache/include/vjsn.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vre.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRE_ERROR_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/include/vre.h
      type_or_value: '128'
    structs:
    - fields:
      - name: match
        type: unsigned
      - name: depth
        type: unsigned
      item_type: struct
      name: vre_limits
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/vinyl-cache/include/vre.h
    typedefs:
    - item_type: typedef
      name: vre_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/vinyl-cache/include/vre.h
      type: vre
    union: []
- function_names:
  - ZERO_OBJ
  - INIT_OBJ
  - FINI_OBJ
  - ALLOC_OBJ
  - ALLOC_OBJ_EXTRA
  - SIZEOF_FLEX_OBJ
  - ALLOC_FLEX_OBJ
  - FREE_OBJ
  - VALID_OBJ
  - CHECK_OBJ
  - CHECK_OBJ_NOTNULL
  - CHECK_OBJ_ORNULL
  - CAST_OBJ
  - CAST_OBJ_NOTNULL
  - TAKE_OBJ_NOTNULL
  - REPLACE
  source_file: /src/vinyl-cache/include/miniobj.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCC_FEATURE_BIT
  source_file: /src/vinyl-cache/include/libvcc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSPLAY_INITIALIZER
  - VSPLAY_LEFT
  - VSPLAY_RIGHT
  - VSPLAY_ROOT
  - VSPLAY_EMPTY
  - VSPLAY_PROTOTYPE
  - _VSPLAY_FIND
  - _VSPLAY_NEXT
  - _VSPLAY_MIN_MAX
  - VSPLAY_GENERATE
  - _VSPLAY_MINMAX
  - VSPLAY_INSERT
  - VSPLAY_REMOVE
  - VSPLAY_FIND
  - VSPLAY_NEXT
  - VSPLAY_MIN
  - VSPLAY_MAX
  - VSPLAY_FOREACH
  - VRBT_INITIALIZER
  - VRBT_ENTRY
  - _VRBT_LINK
  - _VRBT_UP
  - _VRBT_BITS
  - _VRBT_BITSUP
  - _VRBT_PTR_OP
  - _VRBT_PTR
  - _VRBT_MOD_OR
  - _VRBT_MOD_XOR
  - VRBT_PARENT
  - VRBT_LEFT
  - VRBT_RIGHT
  - VRBT_ROOT
  - VRBT_EMPTY
  - VRBT_AUGMENT_CHECK
  - VRBT_AUGMENT_CHECK
  - VRBT_UPDATE_AUGMENT
  - VRBT_PROTOTYPE
  - VRBT_PROTOTYPE_STATIC
  - VRBT_PROTOTYPE_INTERNAL
  - VRBT_PROTOTYPE_RANK
  - VRBT_PROTOTYPE_INSERT_COLOR
  - VRBT_PROTOTYPE_REMOVE_COLOR
  - VRBT_PROTOTYPE_REMOVE
  - VRBT_PROTOTYPE_INSERT_FINISH
  - VRBT_PROTOTYPE_INSERT
  - VRBT_PROTOTYPE_FIND
  - VRBT_PROTOTYPE_NFIND
  - VRBT_PROTOTYPE_NEXT
  - VRBT_PROTOTYPE_INSERT_NEXT
  - VRBT_PROTOTYPE_PREV
  - VRBT_PROTOTYPE_INSERT_PREV
  - VRBT_PROTOTYPE_MINMAX
  - VRBT_PROTOTYPE_REINSERT
  - VRBT_GENERATE
  - VRBT_GENERATE_STATIC
  - VRBT_GENERATE_INTERNAL
  - _VRBT_AUGMENT_VERIFY
  - _VRBT_AUGMENT_VERIFY
  - VRBT_GENERATE_RANK
  - VRBT_GENERATE_INSERT_COLOR
  - VRBT_GENERATE_REMOVE_COLOR
  - _VRBT_AUGMENT_WALK
  - VRBT_GENERATE_REMOVE
  - VRBT_GENERATE_INSERT_FINISH
  - VRBT_GENERATE_INSERT
  - VRBT_GENERATE_FIND
  - VRBT_GENERATE_NFIND
  - VRBT_GENERATE_NEXT
  - _VRBT_ORDER_CHECK
  - _VRBT_ORDER_CHECK
  - VRBT_GENERATE_INSERT_NEXT
  - VRBT_GENERATE_PREV
  - VRBT_GENERATE_INSERT_PREV
  - VRBT_GENERATE_MINMAX
  - VRBT_GENERATE_REINSERT
  - VRBT_INSERT
  - VRBT_INSERT_NEXT
  - VRBT_INSERT_PREV
  - VRBT_REMOVE
  - VRBT_FIND
  - VRBT_NFIND
  - VRBT_NEXT
  - VRBT_PREV
  - VRBT_MIN
  - VRBT_MAX
  - VRBT_REINSERT
  - VRBT_FOREACH
  - VRBT_FOREACH_FROM
  - VRBT_FOREACH_SAFE
  - VRBT_FOREACH_REVERSE
  - VRBT_FOREACH_REVERSE_FROM
  - VRBT_FOREACH_REVERSE_SAFE
  source_file: /src/vinyl-cache/include/vtree.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ptraddr_t
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: uintptr_t
    - item_type: preproc_def
      name: VSPLAY_NEGINF
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: VSPLAY_INF
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _VRBT_L
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: ((ptraddr_t)1)
    - item_type: preproc_def
      name: _VRBT_R
      pos:
        line_end: 343
        line_start: 342
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: ((ptraddr_t)2)
    - item_type: preproc_def
      name: _VRBT_LR
      pos:
        line_end: 344
        line_start: 343
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: ((ptraddr_t)3)
    - item_type: preproc_def
      name: VRBT_STRICT_HST
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: '0'
    - item_type: preproc_def
      name: VRBT_NEGINF
      pos:
        line_end: 1036
        line_start: 1035
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: VRBT_INF
      pos:
        line_end: 1037
        line_start: 1036
        source_file: /src/vinyl-cache/include/vtree.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vre_pcre2.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PCRE2_CODE_UNIT_WIDTH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/include/vre_pcre2.h
      type_or_value: '8'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vlu.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (vlu_f)(void *, const char *)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/vinyl-cache/include/vlu.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vev.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VEV_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/include/vev.h
      type_or_value: '0x46bbd419'
    - item_type: preproc_def
      name: VEV__RD
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/include/vev.h
      type_or_value: POLLIN
    - item_type: preproc_def
      name: VEV__WR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/include/vev.h
      type_or_value: POLLOUT
    - item_type: preproc_def
      name: VEV__ERR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/include/vev.h
      type_or_value: POLLERR
    - item_type: preproc_def
      name: VEV__HUP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/include/vev.h
      type_or_value: POLLHUP
    - item_type: preproc_def
      name: VEV__SIG
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/include/vev.h
      type_or_value: '-1'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: fd
        type: int
      - name: fd_flags
        type: unsigned
      - name: fd_events
        type: unsigned
      - name: sig
        type: int
      - name: sig_flags
        type: unsigned
      - name: timeout
        type: double
      - name: '*callback'
        type: vev_cb_f
      - name: '*siginfo'
        type: siginfo_t
      - name: '*priv'
        type: void
      - name: __when
        type: double
      - name: __binheap_idx
        type: unsigned
      - name: __privflags
        type: unsigned
      - name: '*__vevb'
        type: struct vev_root
      item_type: struct
      name: vev
      pos:
        line_end: 63
        line_start: 37
        source_file: /src/vinyl-cache/include/vev.h
    typedefs:
    - item_type: typedef
      name: vev_cb_f(const struct vev *, int what)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/vinyl-cache/include/vev.h
      type: int
    union: []
- function_names:
  - CLI_CMD
  source_file: /src/vinyl-cache/include/vcli_serve.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLI_MAGIC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/include/vcli_serve.h
      type_or_value: '0x4038d570'
    structs:
    - fields:
      - name: '*request'
        type: char
      - name: '*syntax'
        type: char
      - name: '*help'
        type: char
      - name: '*doc'
        type: char
      - name: minarg
        type: int
      - name: maxarg
        type: int
      item_type: struct
      name: cli_cmd_desc
      pos:
        line_end: 50
        line_start: 42
        source_file: /src/vinyl-cache/include/vcli_serve.h
    - fields:
      - name: '*desc'
        type: struct cli_cmd_desc
      - name: '*flags'
        type: char
      - name: '*func'
        type: cli_func_t
      - name: '*jsonfunc'
        type: cli_func_t
      - name: '*priv'
        type: void
      - name: auth
        type: unsigned
      - name: (cli_proto)
        type: VTAILQ_ENTRY
      item_type: struct
      name: cli_proto
      pos:
        line_end: 67
        line_start: 56
        source_file: /src/vinyl-cache/include/vcli_serve.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*priv'
        type: void
      - name: '*sb'
        type: struct vsb
      - name: result
        type: enum VCLI_status_e
      - name: '*cmd'
        type: struct vsb
      - name: auth
        type: unsigned
      - name: challenge[34]
        type: char
      - name: '*ident'
        type: char
      - name: '*cls'
        type: struct VCLS
      - name: '*limit'
        type: unsigned
      item_type: struct
      name: cli
      pos:
        line_end: 82
        line_start: 70
        source_file: /src/vinyl-cache/include/vcli_serve.h
    typedefs:
    - item_type: typedef
      name: cli_func_t(struct cli*, const char * const *av, void *priv)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vinyl-cache/include/vcli_serve.h
      type: void
    - item_type: typedef
      name: cls_cb_f(void *priv)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/vinyl-cache/include/vcli_serve.h
      type: int
    - item_type: typedef
      name: cls_cbc_f(const struct cli*)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vinyl-cache/include/vcli_serve.h
      type: void
    union: []
- function_names:
  - vbe16dec
  - vbe32dec
  - vbe64dec
  - vle16dec
  - vle32dec
  - vle64dec
  - vbe16enc
  - vbe32enc
  - vbe64enc
  - vle16enc
  - vle32enc
  - vle64enc
  source_file: /src/vinyl-cache/include/vend.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vsub.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: vsub_func_f(void*)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/vinyl-cache/include/vsub.h
      type: void
    union: []
- function_names:
  - VPI_count
  source_file: /src/vinyl-cache/include/vcc_interface.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VPI_REF_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/include/vcc_interface.h
      type_or_value: '0xd955f567'
    - item_type: preproc_def
      name: WRK_VPI_MAGIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/include/vcc_interface.h
      type_or_value: '0xaa3d3df3'
    - item_type: preproc_def
      name: VRT_ACL_MAGIC
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/include/vcc_interface.h
      type_or_value: '0x78329d96'
    - item_type: preproc_def
      name: VCL_SUB_MAGIC
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/include/vcc_interface.h
      type_or_value: '0x12c1750b'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: source
        type: unsigned
      - name: offset
        type: unsigned
      - name: line
        type: unsigned
      - name: pos
        type: unsigned
      - name: '*token'
        type: char
      item_type: struct
      name: vpi_ref
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/vinyl-cache/include/vcc_interface.h
    - fields:
      - name: magic
        type: unsigned
      - name: handling
        type: unsigned
      - name: trace
        type: unsigned
      - name: ref
        type: unsigned
      item_type: struct
      name: wrk_vpi
      pos:
        line_end: 64
        line_start: 58
        source_file: /src/vinyl-cache/include/vcc_interface.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*match'
        type: acl_match_f
      - name: '*name'
        type: char
      item_type: struct
      name: vrt_acl
      pos:
        line_end: 87
        line_start: 82
        source_file: /src/vinyl-cache/include/vcc_interface.h
    - fields:
      - name: "*\t\t\tp"
        type: uintptr_t
      - name: "* const\t\tname"
        type: char
      item_type: struct
      name: vpi_ii
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/vinyl-cache/include/vcc_interface.h
    - fields:
      - name: magic
        type: unsigned
      - name: methods
        type: unsigned
      - name: "* const\tname"
        type: char
      - name: '*vcl_conf'
        type: struct VCL_conf
      - name: '*func'
        type: vcl_func_f
      - name: n
        type: unsigned
      - name: nref
        type: unsigned
      - name: called
        type: unsigned
      item_type: struct
      name: vcl_sub
      pos:
        line_end: 114
        line_start: 104
        source_file: /src/vinyl-cache/include/vcc_interface.h
    typedefs:
    - item_type: typedef
      name: acl_match_f(VRT_CTX, const VCL_IP)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/include/vcc_interface.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vut_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VUT_GLOBAL_OPT_D
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"D\", \"[-D]\", \"Daemonize\",\t\t\t\t\t\\\n\t    \"Daemonize.\"\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_GLOBAL_OPT_P
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"P:\", \"[-P <file>]\", \"PID file\",\t\t\t\t\\\n\t    \"Write
        the process' PID to the specified file.\"\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_GLOBAL_OPT_V
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"V\", \"[-V]\", \"Version\",\t\t\t\t\t\\\n\t    \"Print
        version information and exit.\"\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_0
      pos:
        line_end: 57
        line_start: 48
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"0\", \"[-0]\", \"Check configuration\",\t\t\t\\\n\t    \"Return
        immediately (i.e. process 0 transactions) if the \"\t\\\n\t    \"configuration
        is valid. This option means the process \"\t\\\n\t    \"not try to write a
        PID file, daemonize, connect to a VSM, \"\\\n\t    \"or open a log file, but
        it will run all the other \"\t\\\n\t    \"pre-flight operation, including
        validating the VSL \"\t\\\n\t    \"queries.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_d
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"d\", \"[-d]\", \"Process old log entries and exit\",\t\t\\\n\t
        \   \"Process log records at the head of the log and exit.\"\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_g
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"g:\", \"[-g <session|request|vxid|raw>]\", \"Grouping
        mode (default: vxid)\",\t\\\n\t    \"The grouping of the log records. The
        default is to group\"\t\\\n\t    \" by vxid.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_h
      pos:
        line_end: 73
        line_start: 69
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"h\", \"[-h]\", \"Usage help\",\t\t\t\t\t\\\n\t    \"Print
        program usage and exit\"\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_k
      pos:
        line_end: 79
        line_start: 74
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"k:\", \"[-k <num>]\", \"Limit transactions\",\t\t\t\\\n\t
        \   \"Process this number of matching log transactions before\"\t\\\n\t    \"
        exiting.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_n
      pos:
        line_end: 86
        line_start: 80
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"n:\", \"[-n <workdir>]\", \"vinyl working directory\",\t\\\n\t
        \    \"Specify the vinyl working directory of the instance \"\t\\\n\t     \"to
        attach to. See :ref:`vinyld(1)` ``-n`` option \"\t\\\n\t     \"documentation
        for additional information and defaults.\"\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_Q
      pos:
        line_end: 94
        line_start: 87
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"Q:\", \"[-Q <file>]\", \"VSL query file\",\t\t\t\\\n\t
        \   \"Specifies the file containing the VSL query to use.\"\t\\\n\t    \"
        When multiple -Q or -q options are specified, all\"\t\\\n\t    \" queries
        are considered as if the 'or' operator was\"\t\\\n\t    \" used to combine
        them.\"\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_q
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"q:\", \"[-q <query>]\", \"VSL query\",\t\t\t\t\\\n\t
        \   \"Specifies the VSL query to use. When multiple -q or\"\t\\\n\t    \"
        -Q options are specified, all queries are considered\"\t\\\n\t    \" as if
        the 'or' operator was used to combine them.\"\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_r
      pos:
        line_end: 109
        line_start: 102
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"r:\", \"[-r <filename>]\", \"Binary file input\",\t\t\\\n\t
        \   \"Read log in binary file format from this file. The file\"\t\\\n\t    \"
        can be created with ``vinyllog -w filename``. If the\"\t\\\n\t    \" filename
        is -, logs are read from the standard input.\"\t\\\n\t    \" and cannot work
        as a daemon.\"\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VUT_OPT_t
      pos:
        line_end: 121
        line_start: 110
        source_file: /src/vinyl-cache/include/vut_options.h
      type_or_value: "VOPT(\"t:\", \"[-t <seconds|off>]\", \"VSM connection timeout\",\t\\\n\t
        \   \"Timeout before returning error on initial VSM connection.\"\t\\\n\t
        \   \" If set the VSM connection is retried every 0.5 seconds\"\t\\\n\t    \"
        for this many seconds. If zero the connection is\"\t\t\\\n\t    \" attempted
        only once and will fail immediately if\"\t\t\\\n\t    \" unsuccessful. If
        set to \\\"off\\\", the connection will not\"\t\\\n\t    \" fail, allowing
        the utility to start and wait\"\t\t\\\n\t    \" indefinitely for the `vinyld`
        instance to appear. \"\t\\\n\t    \" Defaults to 5 seconds.\"\t\t\t\t\t\\\n\t)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - vct_is
  - vct_isows
  - vct_issp
  - vct_ishex
  - vct_islws
  - vct_isctl
  - vct_isspace
  - vct_isdigit
  - vct_isalpha
  - vct_islower
  - vct_isupper
  - vct_isalnum
  - vct_isbase64
  - vct_issep
  - vct_issepctl
  - vct_isident1
  - vct_isident
  - vct_isxmlnamestart
  - vct_isxmlname
  - vct_istchar
  - vct_ishdrval
  - vct_iscrlf
  - vct_skipcrlf
  - vct_casecmp
  - vct_caselencmp
  source_file: /src/vinyl-cache/include/vct.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCT_OWS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: VCT_CRLF
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: VCT_LWS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (VCT_CRLF | VCT_OWS)
    - item_type: preproc_def
      name: VCT_CTL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: VCT_ALPHA
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<3)
    - item_type: preproc_def
      name: VCT_SEPARATOR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<4)
    - item_type: preproc_def
      name: VCT_DIGIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<5)
    - item_type: preproc_def
      name: VCT_HEX
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<6)
    - item_type: preproc_def
      name: VCT_XMLNAMESTART
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<7)
    - item_type: preproc_def
      name: VCT_XMLNAME
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<8)
    - item_type: preproc_def
      name: VCT_TCHAR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<9)
    - item_type: preproc_def
      name: VCT_ID
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<10)
    - item_type: preproc_def
      name: VCT_IDENT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (VCT_ALPHA | VCT_DIGIT | VCT_ID)
    - item_type: preproc_def
      name: VCT_BASE64
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<11)
    - item_type: preproc_def
      name: VCT_VT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: VCT_SPACE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (VCT_LWS | VCT_VT)
    - item_type: preproc_def
      name: VCT_UPPER
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<13)
    - item_type: preproc_def
      name: VCT_LOWER
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/include/vct.h
      type_or_value: (1<<14)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vbt.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - tv_vtim
  - ts_vtim
  source_file: /src/vinyl-cache/include/vtim.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VTIM_FORMAT_SIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/include/vtim.h
      type_or_value: '30'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vbh.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VBH_NOIDX
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/vinyl-cache/include/vbh.h
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: vbh_cmp_t(void *priv, const void *a, const void *b)
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vinyl-cache/include/vbh.h
      type: int
    - item_type: typedef
      name: vbh_update_t(void *priv, void *a, unsigned newidx)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/vinyl-cache/include/vbh.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/venc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VTCP_Assert
  source_file: /src/vinyl-cache/include/vtcp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VTCP_ADDRBUFSIZE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/include/vtcp.h
      type_or_value: '64'
    - item_type: preproc_def
      name: VTCP_PORTBUFSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/include/vtcp.h
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vinyl_daemon
  source_file: /src/vinyl-cache/include/compat/daemon.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vapi/vsl.h
  types:
    enum:
    - enumerators:
      - name: VSL_t_unknown
      - name: VSL_t_raw
      - name: VSL_t_sess
      - name: VSL_t_req
      - name: VSL_t_bereq
      - name: VSL_t__MAX
      item_type: enum
      name: VSL_transaction_e
      pos:
        line_end: 97
        line_start: 90
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    - enumerators:
      - name: VSL_r_unknown
      - name: VSL_r_restart
      - name: VSL_r_esi
      - name: VSL_r_http_1
      - name: VSL_r_rxreq
      - name: VSL_r_pass
      - name: VSL_r_fetch
      - name: VSL_r_bgfetch
      - name: VSL_r_pipe
      - name: VSL_r__MAX
      item_type: enum
      name: VSL_reason_e
      pos:
        line_end: 110
        line_start: 99
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    - enumerators:
      - name: VSL_g_raw
      - name: VSL_g_vxid
      - name: VSL_g_request
      - name: VSL_g_session
      - name: VSL_g__MAX
      item_type: enum
      name: VSL_grouping_e
      pos:
        line_end: 127
        line_start: 121
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    - enumerators:
      - name: vsl_check_e_notsupp
        value: '-1'
      - name: vsl_check_valid
        value: '2'
      - name: vsl_check_e_inval
        value: '0'
      - name: vsl_check_warn
        value: '1'
      item_type: enum
      name: vsl_check
      pos:
        line_end: 330
        line_start: 325
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    - enumerators:
      - name: vsl_e_write
        value: '-5'
      - name: vsl_e_eof
        value: '-1'
      - name: vsl_e_overrun
        value: '-3'
      - name: vsl_e_abandon
        value: '-2'
      - name: vsl_e_io
        value: '-4'
      - name: vsl_end
        value: '0'
      - name: vsl_more
        value: '1'
      item_type: enum
      name: vsl_status
      pos:
        line_end: 353
        line_start: 345
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    preproc_defs:
    - item_type: preproc_def
      name: VSL_COPT_TAIL
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/vinyl-cache/include/vapi/vsl.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: VSL_COPT_BATCH
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/vinyl-cache/include/vapi/vsl.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: VSL_COPT_TAILSTOP
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/vinyl-cache/include/vapi/vsl.h
      type_or_value: (1 << 2)
    structs:
    - fields:
      - name: '*ptr'
        type: uint32_t
      - name: priv
        type: unsigned
      item_type: struct
      name: VSLC_ptr
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    - fields:
      - name: rec
        type: struct VSLC_ptr
      - name: '*priv_tbl'
        type: void
      - name: '*priv_data'
        type: void
      item_type: struct
      name: VSL_cursor
      pos:
        line_end: 88
        line_start: 81
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    - fields:
      - name: level
        type: int
      - name: vxid
        type: int64_t
      - name: vxid_parent
        type: int64_t
      - name: type
        type: enum VSL_transaction_e
      - name: reason
        type: enum VSL_reason_e
      - name: '*c'
        type: struct VSL_cursor
      item_type: struct
      name: VSL_transaction
      pos:
        line_end: 119
        line_start: 112
        source_file: /src/vinyl-cache/include/vapi/vsl.h
    typedefs:
    - item_type: typedef
      name: "VSLQ_dispatch_f(struct VSL_data *vsl,\n    struct VSL_transaction * const
        trans[], void *priv)"
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/vinyl-cache/include/vapi/vsl.h
      type: int
    - item_type: typedef
      name: VSL_tagfind_f(int tag, void *priv)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/vinyl-cache/include/vapi/vsl.h
      type: void
    union: []
- function_names:
  - VSM_FOREACH
  source_file: /src/vinyl-cache/include/vapi/vsm.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSM_FANTOM_NULL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: '{ 0, 0, 0, 0, 0, 0 }'
    - item_type: preproc_def
      name: VSM_n_USAGE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: '"[-n vinyl_name]"'
    - item_type: preproc_def
      name: VSM_t_USAGE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: '"[-t <seconds|off>]"'
    - item_type: preproc_def
      name: VSM_MGT_RUNNING
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: (1U<<1)
    - item_type: preproc_def
      name: VSM_MGT_CHANGED
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: (1U<<2)
    - item_type: preproc_def
      name: VSM_MGT_RESTARTED
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: (1U<<3)
    - item_type: preproc_def
      name: VSM_WRK_RUNNING
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: (1U<<9)
    - item_type: preproc_def
      name: VSM_WRK_CHANGED
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: (1U<<10)
    - item_type: preproc_def
      name: VSM_WRK_RESTARTED
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: (1U<<11)
    - item_type: preproc_def
      name: VSM_MGT_MASK
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: '0x00ff'
    - item_type: preproc_def
      name: VSM_WRK_MASK
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/vinyl-cache/include/vapi/vsm.h
      type_or_value: '0xff00'
    structs:
    - fields:
      - name: priv
        type: uintptr_t
      - name: priv2
        type: uintptr_t
      - name: '*b'
        type: void
      - name: '*e'
        type: void
      - name: '*category'
        type: char
      - name: '*ident'
        type: char
      item_type: struct
      name: vsm_fantom
      pos:
        line_end: 53
        line_start: 46
        source_file: /src/vinyl-cache/include/vapi/vsm.h
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: vsm_valid
      pos:
        line_end: 157
        line_start: 155
        source_file: /src/vinyl-cache/include/vapi/vsm.h
    typedefs: []
    union: []
- function_names:
  - VOPT
  - VOPT
  - VOPT
  - VOPT
  source_file: /src/vinyl-cache/include/vapi/voptget.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*option'
        type: char
      - name: '*synopsis'
        type: char
      - name: '*desc'
        type: char
      - name: '*ldesc'
        type: char
      item_type: struct
      name: vopt_list
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/vinyl-cache/include/vapi/voptget.h
    - fields:
      - name: '*vopt_list'
        type: struct vopt_list
      - name: vopt_list_n
        type: int
      - name: '*vopt_optstring'
        type: char
      - name: '*vopt_synopsis'
        type: char
      - name: '**vopt_usage'
        type: char
      item_type: struct
      name: vopt_spec
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/vinyl-cache/include/vapi/voptget.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/vapi/vapi_options.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSL_iI_PS
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "\"If a tag include option is the first of any tag selection\"\t\\\n\t\"
        options, all tags are first marked excluded.\""
    - item_type: preproc_def
      name: VSL_OPT_b
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"b\", \"[-b]\", \"Only display backend records\",\t\t\\\n\t
        \   \"Only display transactions and log records coming from\"\t\\\n\t    \"
        backend communication.\"\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_c
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"c\", \"[-c]\", \"Only display client records\",\t\t\\\n\t
        \   \"Only display transactions and log records coming from\"\t\\\n\t    \"
        client communication.\"\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_C
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"C\", \"[-C]\", \"Caseless regular expressions\",\t\t\\\n\t
        \   \"Do all regular expression and string matching caseless.\"\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_E
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"E\", \"[-E]\", \"Display ESI transactions\",\t\t\t\\\n\t
        \   \"Display ESI transactions and other types of sub-requests.\"\t\\\n\t
        \   \" This implies the -c option and includes other client\"\t\\\n\t    \"
        transactions.\"\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_i
      pos:
        line_end: 69
        line_start: 61
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"i:\", \"[-i <taglist>]\", \"Include tags\",\t\t\t\\\n\t
        \   \"Include log records of these tags in output. Taglist is\"   \\\n\t    \"
        a comma-separated list of tag globs. Multiple -i\"\t\t\\\n\t    \" options
        may be given.\\n\"\t\t\t\t\t\\\n\t    \"\\n\"\t\t\t\t\t\t\t\\\n\t    VSL_iI_PS\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_I
      pos:
        line_end: 78
        line_start: 70
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"I:\", \"[-I <[taglist:]regex>]\", \"Include by regex\",\t\\\n\t
        \   \"Include by regex matching. Output only records matching\"\t\\\n\t    \"
        taglist and regular expression. Applies to any tag if\"\t\\\n\t    \" taglist
        is absent. Multiple -I options may be given.\\n\"\t\\\n\t    \"\\n\"\t\t\t\t\t\t\t\\\n\t
        \   VSL_iI_PS\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_L
      pos:
        line_end: 87
        line_start: 79
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"L:\", \"[-L <limit>]\", \"Incomplete transaction limit\",\t\\\n\t
        \   \"Sets the upper limit of incomplete transactions kept\"\t\\\n\t    \"
        before the oldest transaction is force completed. A\"\t\\\n\t    \" warning
        record is synthesized when this happens. This\"\t\\\n\t    \" setting keeps
        an upper bound on the memory usage of\"\t\\\n\t    \" running queries. Defaults
        to 1000 transactions.\"\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_R
      pos:
        line_end: 103
        line_start: 88
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"R:\", \"[-R <limit[/duration]>]\", \"Output rate limit\",\t\\\n\t
        \   \"Restrict the output to the specified limit.\"\t\t\\\n\t    \" Transactions
        exceeding the limit will be suppressed.\"\t\\\n\t    \" The limit is specified
        as the maximum number of\"\t\t\\\n\t    \" transactions (with respect to the
        chosen grouping\"\t\\\n\t    \" method) and an optional time period. If no
        duration\"\t\\\n\t    \" is specified, a default of ``s`` is used. The duration\"\t\\\n\t
        \   \" field can be formatted as in VCL (e.g. ``-R 10/2m``) or\"\t\\\n\t    \"
        as a simple time period without the prefix (e.g.\"\t\t\\\n\t    \" ``-R 5/m``).\"\t\t\t\t\t\t\\\n\t
        \   \" When in ``-g raw`` grouping mode, this setting can\"\t\\\n\t    \"
        not be used alongside ``-i``, ``-I``, ``-x`` or \"\t\t\\\n\t    \"``-X``,
        and we advise using ``-q`` instead.\"\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_T
      pos:
        line_end: 112
        line_start: 104
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"T:\", \"[-T <seconds>]\", \"Transaction end timeout\",\t\t\\\n\t
        \   \"Sets the transaction timeout in seconds. This defines the\"\t\\\n\t
        \   \" maximum number of seconds elapsed between a Begin tag\"\t\\\n\t    \"
        and the End tag. If the timeout expires, a warning\"\t\\\n\t    \" record
        is synthesized and the transaction is force\"\t\\\n\t    \" completed. Defaults
        to 120 seconds.\"\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_v
      pos:
        line_end: 119
        line_start: 113
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"v\", \"[-v]\", \"Verbose record printing\",\t\t\t\\\n\t
        \   \"Use verbose output on record set printing, giving the\"\t\\\n\t    \"
        VXID on every log line. Without this option, the VXID\"\t\\\n\t    \" will
        only be given on the header of that transaction.\"\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_x
      pos:
        line_end: 126
        line_start: 120
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"x:\", \"[-x <taglist>]\", \"Exclude tags\",\t\t\t\\\n\t
        \   \"Exclude log records of these tags in output. Taglist is\"   \\\n\t    \"
        a comma-separated list of tag globs. Multiple -x\"\t\t\\\n\t    \" options
        may be given.\\n\"\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSL_OPT_X
      pos:
        line_end: 133
        line_start: 127
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"X:\", \"[-X <[taglist:]regex>]\", \"Exclude by regex\",\t\\\n\t
        \   \"Exclude by regex matching. Do not output records matching\"\t\\\n\t
        \   \" taglist and regular expression. Applies to any tag if\"\t\\\n\t    \"
        taglist is absent. Multiple -X options may be given.\\n\"\t\\\n\t)"
    - item_type: preproc_def
      name: VSC_OPT_f
      pos:
        line_end: 146
        line_start: 136
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"f:\", \"[-f <glob>]\", \"Legacy field filtering glob\",\t\\\n\t
        \   \"Legacy field filtering glob.\"\t\t\t\t\\\n\t    \" Use backslash to
        escape characters. If the argument\"\t\\\n\t    \" starts with '^' it is used
        as an exclusive glob.\"\t\t\\\n\t    \" Multiple -f arguments may be given.
        Legacy filtering\"\t\\\n\t    \" globs are run along with inclusion globs
        (-I arguments)\"\t\\\n\t    \" and exclusion globs (-X arguments) in order
        on a\"\t\t\\\n\t    \" first-match basis.\"\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSC_OPT_I
      pos:
        line_end: 156
        line_start: 147
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"I:\", \"[-I <glob>]\", \"Field inclusion glob\",\t\t\\\n\t
        \   \"Field inclusion glob.\"\t\t\t\t\t\\\n\t    \" Use backslash to escape
        characters. Multiple -I \"\t\t\\\n\t    \" arguments may be given. Exclusion
        globs are run in\"\t\\\n\t    \" order along with exclusion globs (-X arguments)
        and\"\t\\\n\t    \" legacy filtering globs (-f arguments) on a first-match\"\t\\\n\t
        \   \" basis.\"\t\t\t\t\t\t\t\\\n\t)"
    - item_type: preproc_def
      name: VSC_OPT_X
      pos:
        line_end: 166
        line_start: 157
        source_file: /src/vinyl-cache/include/vapi/vapi_options.h
      type_or_value: "VOPT(\"X:\", \"[-X <glob>]\", \"Field exclusion glob\",\t\t\\\n\t
        \   \"Field exclusion glob.\"\t\t\t\t\t\\\n\t    \" Use backslash to escape
        characters. Multiple -X \"\t\t\\\n\t    \" arguments may be given. Exclusion
        globs are run in\"\t\\\n\t    \" order along with inclusion globs (-I arguments)
        and\"\t\\\n\t    \" legacy filtering globs (-f arguments) on a first-match\"\t\\\n\t
        \   \" basis.\"\t\t\t\t\t\t\t\\\n\t)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSL_WORDS
  - VSL_BYTES
  - VSL_END
  - VSL_NEXT
  - VSL_LEN
  - VSL_VER
  - VSL_TAG
  - VSL_ID64
  - VSL_ID
  - VSL_CLIENT
  - VSL_BACKEND
  - VSL_DATA
  - VSL_CDATA
  - VSL_BATCHLEN
  - VSL_BATCHID
  source_file: /src/vinyl-cache/include/vapi/vsl_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSL_CLASS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '"Log"'
    - item_type: preproc_def
      name: VSL_SEGMENTS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: "8U\t// power of two"
    - item_type: preproc_def
      name: VSL_CLIENTMARKER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: (1ULL<<62)
    - item_type: preproc_def
      name: VSL_BACKENDMARKER
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: (1ULL<<63)
    - item_type: preproc_def
      name: VSL_IDENTMASK
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: ((1ULL<<51)-1)
    - item_type: preproc_def
      name: VSL_LENMASK
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: VSL_VERMASK
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '0x3'
    - item_type: preproc_def
      name: VSL_VERSHIFT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '16'
    - item_type: preproc_def
      name: VSL_IDMASK
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '0xff'
    - item_type: preproc_def
      name: VSL_IDSHIFT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '24'
    - item_type: preproc_def
      name: VSL_OVERHEAD
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: 3U
    - item_type: preproc_def
      name: VSL_VERSION_2
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: VSL_VERSION_3
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: VSL_ENDMARKER
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '(((uint32_t)SLT__Reserved << 24) | 0x454545) '
    - item_type: preproc_def
      name: VSL_WRAPMARKER
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '(((uint32_t)SLT__Reserved << 24) | 0x575757) '
    - item_type: preproc_def
      name: SLT__MAX
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: '256'
    - item_type: preproc_def
      name: SLT_F_UNUSED
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: SLT_F_UNSAFE
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: SLT_F_BINARY
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vinyl-cache/include/vapi/vsl_int.h
      type_or_value: (1 << 2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSIG_SIGNAL
  - WCOREDUMP
  - WCOREDUMP
  source_file: /src/vinyl-cache/include/vapi/vsig.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSC_Value
  source_file: /src/vinyl-cache/include/vapi/vsc.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*label'
        type: char
      - name: '*sdesc'
        type: char
      - name: '*ldesc'
        type: char
      item_type: struct
      name: VSC_level_desc
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/vinyl-cache/include/vapi/vsc.h
    - fields:
      - name: '*ptr'
        type: uint64_t
      - name: '*name'
        type: char
      - name: '*ctype'
        type: char
      - name: semantics
        type: int
      - name: format
        type: int
      - name: '*level'
        type: struct VSC_level_desc
      - name: '*sdesc'
        type: char
      - name: '*ldesc'
        type: char
      - name: '*priv'
        type: void
      - name: raw
        type: unsigned
      item_type: struct
      name: VSC_point
      pos:
        line_end: 72
        line_start: 50
        source_file: /src/vinyl-cache/include/vapi/vsc.h
    typedefs:
    - item_type: typedef
      name: '*VSC_new_f(void *priv, const struct VSC_point *const pt)'
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/vinyl-cache/include/vapi/vsc.h
      type: void
    - item_type: typedef
      name: VSC_destroy_f(void *priv, const struct VSC_point *const pt)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/vinyl-cache/include/vapi/vsc.h
      type: void
    - item_type: typedef
      name: VSC_iter_f(void *priv, const struct VSC_point *const pt)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vinyl-cache/include/vapi/vsc.h
      type: int
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vsc_levels.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/feature_bits.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/acct_fields_req.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/body_status.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/experimental_bits.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/h2_error.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/htc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vhp_static.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/req_bereq_flags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/sess_attr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/oc_flags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/well_known_methods.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - REQ_BEREQ_FLAG
  source_file: /src/vinyl-cache/include/tbl/req_flags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vhp_huffman.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vsl_tags_http.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HEADER_NOTICE
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/vinyl-cache/include/tbl/vsl_tags_http.h
      type_or_value: "\"NOTE: HTTP header fields are free form records and not strictly\\n\"
        \\\n    \"made of 2 fields. Accessing a specific header with the prefix\\n\"
        \\\n    \"notation helps treating the header value as a single string.\\n\\n\""
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/debug_bits.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/obj_attr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - H
  source_file: /src/vinyl-cache/include/tbl/http_headers.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: P
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/include/tbl/http_headers.h
      type_or_value: HTTPH_R_PASS
    - item_type: preproc_def
      name: F
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/include/tbl/http_headers.h
      type_or_value: HTTPH_R_FETCH
    - item_type: preproc_def
      name: I
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/include/tbl/http_headers.h
      type_or_value: HTTPH_A_INS
    - item_type: preproc_def
      name: S
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/include/tbl/http_headers.h
      type_or_value: HTTPH_A_PASS
    - item_type: preproc_def
      name: K
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/include/tbl/http_headers.h
      type_or_value: HTTPH_C_SPECIFIC
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/beresp_flags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/h2_settings.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/oc_exp_flags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/symbol_kind.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/ban_vars.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/acct_fields_bereq.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vsig_list.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PARAM_SIMPLE
  - H2_SETTING_NAME
  - H2_SETTING_DESCR
  - PARAM_STRING
  - PARAM_PCRE2
  - PARAM_ALIAS
  - PARAM_BITS
  - DEBUG_BIT
  - EXPERIMENTAL_BIT
  - FEATURE_BIT
  - VCC_FEATURE_BIT
  source_file: /src/vinyl-cache/include/tbl/params.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PLATFORM_FLAGS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/include/tbl/params.h
      type_or_value: MUST_RESTART
    - item_type: preproc_def
      name: PLATFORM_FLAGS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/include/tbl/params.h
      type_or_value: NOT_IMPLEMENTED
    - item_type: preproc_def
      name: PLATFORM_FLAGS
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/vinyl-cache/include/tbl/params.h
      type_or_value: MUST_RESTART
    - item_type: preproc_def
      name: PLATFORM_FLAGS
      pos:
        line_end: 983
        line_start: 982
        source_file: /src/vinyl-cache/include/tbl/params.h
      type_or_value: NOT_IMPLEMENTED
    - item_type: preproc_def
      name: PLATFORM_FLAGS
      pos:
        line_end: 999
        line_start: 998
        source_file: /src/vinyl-cache/include/tbl/params.h
      type_or_value: EXPERIMENTAL
    - item_type: preproc_def
      name: PLATFORM_FLAGS
      pos:
        line_end: 1001
        line_start: 1000
        source_file: /src/vinyl-cache/include/tbl/params.h
      type_or_value: NOT_IMPLEMENTED
    - item_type: preproc_def
      name: H2_RR_INFO
      pos:
        line_end: 1418
        line_start: 1415
        source_file: /src/vinyl-cache/include/tbl/params.h
      type_or_value: "\"Changes to this parameter affect the default for new HTTP2
        \" \\\n\t\"sessions. vmod_h2(3) can be used to adjust it from VCL.\""
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/h2_frames.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/h2_stream.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/sess_close.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vhd_fsm_funcs.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/cli_cmds.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/ban_arg_oper.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BANS_OPER_STRING
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/vinyl-cache/include/tbl/ban_arg_oper.h
      type_or_value: "(1<<BAN_OPERIDX(BANS_OPER_EQ) |\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_NEQ)
        |\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_MATCH) |\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_NMATCH))"
    - item_type: preproc_def
      name: BANS_OPER_DURATION
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/vinyl-cache/include/tbl/ban_arg_oper.h
      type_or_value: "(1<<BAN_OPERIDX(BANS_OPER_EQ) |\t\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_NEQ)
        |\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_GT) |\t\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_GTE)
        |\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_LT) |\t\t\\\n\t 1<<BAN_OPERIDX(BANS_OPER_LTE))"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vhd_return.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/locks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - SLTH
  - SLTH
  - SLTH
  - SLTH
  - SLTH
  source_file: /src/vinyl-cache/include/tbl/vsl_tags.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NODEF_NOTICE
      pos:
        line_end: 49
        line_start: 47
        source_file: /src/vinyl-cache/include/tbl/vsl_tags.h
      type_or_value: '"NB: This log record is masked by default.\n\n"'
    - item_type: preproc_def
      name: NOSUP_NOTICE
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/vinyl-cache/include/tbl/vsl_tags.h
      type_or_value: "\"NOTE: This tag is currently not in use in the Vinyl Cache
        log.\\n\" \\\n    \"It is mentioned here to document legacy versions of the
        log,\\n\" \\\n    \"or reserved for possible use in future versions.\\n\\n\""
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/boc_state.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/backend_poll.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vcl_states.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/waiters.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VHD_FSM_INTEGER
  - VHD_FSM_GOTO
  - VHD_FSM_LABEL
  - VHD_FSM_SET_MAX
  - VHD_FSM_SET_IDX
  - VHD_FSM_LOOKUP
  - VHD_FSM_NEW
  - VHD_FSM_NEW_IDX
  - VHD_FSM_BRANCH_ZIDX
  - VHD_FSM_BRANCH_BIT0
  - VHD_FSM_LITERAL
  source_file: /src/vinyl-cache/include/tbl/vhd_fsm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - REQ_BEREQ_FLAG
  source_file: /src/vinyl-cache/include/tbl/bereq_flags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/vcc_feature_bits.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/ban_oper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/include/tbl/http_response.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvcc/vcc_namespace.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - L
  - C
  - vcc_Conditional
  - vcc_Act_If
  - vcc_Compound
  - vcc_ParseUnused
  - vcc_ParseFunction
  - vcc_ParseVcl
  - vcc_Parse
  - vcc_Parse_Init
  source_file: /src/vinyl-cache/lib/libvcc/vcc_parse.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*func'
        type: parse_f
      - name: vcllo
        type: unsigned
      - name: vclhi
        type: unsigned
      item_type: struct
      name: toplev
      pos:
        line_end: 391
        line_start: 386
        source_file: /src/vinyl-cache/lib/libvcc/vcc_parse.c
    typedefs:
    - item_type: typedef
      name: parse_f(struct vcc *tl)
      pos:
        line_end: 384
        line_start: 384
        source_file: /src/vinyl-cache/lib/libvcc/vcc_parse.c
      type: void
    union: []
- function_names:
  - VCC_KIND
  - VCC_NAMESPACE
  - VCC_HandleKind
  - VCC_PrintCName
  - vcc_symtabname
  - VCC_SymName
  - vcc_symtab_new
  - vcc_symtab_str
  - vcc_new_symbol
  - vcc_sym_in_tab
  - VCC_SymbolGet
  - vcc_TypeSymbol
  - VCC_TypeSymbol
  - VCC_MkSym
  - VCC_MkSymAlias
  - vcc_walksymbols
  - VCC_WalkSymbols
  - VCC_GlobalSymbol
  - VCL_MET_MAC
  - VCC_HandleSymbol
  source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCC_NAMESPACE_MAGIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
      type_or_value: '0x27b842f4'
    - item_type: preproc_def
      name: SYMTAB_MAGIC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
      type_or_value: '0x084d9c8a'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: id
        type: enum vcc_namespace_e
      item_type: struct
      name: vcc_namespace
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvcc/vcc_symb.c
    typedefs: []
    union: []
- function_names:
  - Emit_Sockaddr
  - isip
  - uds_resolved
  - emit_path
  - Emit_UDS_Path
  - vcc_Redef
  - vcc_ParseProbeSpec
  - vcc_ParseProbe
  - vcc_ParseHostDef
  - vcc_ParseBackend
  - vcc_Backend_Init
  source_file: /src/vinyl-cache/lib/libvcc/vcc_backend.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CMP
  - CMPA
  - vcl_acl_free
  - vcl_acl_cmp
  - vcl_acl_disjoint
  - vcc_acl_chk
  - vcl_acl_fold
  - vcc_acl_insert_entry
  - vcc_acl_add_entry
  - vcc_acl_try_getaddrinfo
  - vcc_acl_try_netnotation
  - vcc_acl_entry
  - vcc_acl_emit_tokens
  - vcc_acl_emit_tables
  - vcc_acl_emit
  - vcc_parseAclFold
  - vcc_ParseAcl
  source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
  types:
    enum:
    - enumerators:
      - name: ACL_EQ
        value: '0'
      - name: ACL_CONTAINS
        value: '2'
      - name: ACL_GT
        value: '1'
      - name: ACL_LT
        value: '-1'
      - name: ACL_CONTAINED
        value: '-2'
      - name: ACL_LEFT
        value: '-3'
      - name: ACL_RIGHT
        value: '3'
      item_type: enum
      name: acl_cmp_e
      pos:
        line_end: 86
        line_start: 78
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    preproc_defs:
    - item_type: preproc_def
      name: ACL_MAXADDR
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
      type_or_value: (sizeof(struct in6_addr) + 1)
    - item_type: preproc_def
      name: VCC_ACL_MAGIC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
      type_or_value: '0xb9fb3cd0'
    - item_type: preproc_def
      name: VCC_ACL_E_MAGIC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
      type_or_value: '0xcac81e23'
    - item_type: preproc_def
      name: FOLD_SUBFLAGS_MSG
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
      type_or_value: '"The only ACL fold sub-flag is `report`:\n"'
    - item_type: preproc_def
      name: FLAGS_MSG
      pos:
        line_end: 878
        line_start: 877
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
      type_or_value: '"Valid ACL flags are `log`, `fold`, `pedantic` and `table`:\n"'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: flag_log
        type: int
      - name: flag_fold
        type: int
      - name: flag_fold_report
        type: int
      - name: flag_pedantic
        type: int
      - name: flag_table
        type: int
      - name: acl_tree
        type: struct acl_tree
      item_type: struct
      name: acl
      pos:
        line_end: 61
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    - fields:
      - name: magic
        type: unsigned
      - name: (acl_e)
        type: VRBT_ENTRY
      - name: data[ACL_MAXADDR]
        type: unsigned char
      - name: mask
        type: unsigned
      - name: not
        type: unsigned
      - name: para
        type: unsigned
      - name: overlapped
        type: unsigned
      - name: '*addr'
        type: char
      - name: '*fixed'
        type: char
      - name: '*t_addr'
        type: struct token
      - name: '*t_mask'
        type: struct token
      item_type: struct
      name: acl_e
      pos:
        line_end: 76
        line_start: 63
        source_file: /src/vinyl-cache/lib/libvcc/vcc_acl.c
    typedefs: []
    union: []
- function_names:
  - PF
  - VCC_TYPE
  - VCC_KIND
  - VCC_NAMESPACE
  - VCC_FEATURE_BIT
  - ERRCHK
  - ErrInternal
  - Expect
  - ExpectErr
  - SkipToken
  source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCL_LOW
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: "40\t\t// Lowest VCC supports"
    - item_type: preproc_def
      name: VCL_HIGH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: "41\t\t// Highest VCC supports"
    - item_type: preproc_def
      name: VCL_40
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '40'
    - item_type: preproc_def
      name: VCL_41
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '41'
    - item_type: preproc_def
      name: INDENT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '2'
    - item_type: preproc_def
      name: SOURCE_MAGIC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '0xf756fe82'
    - item_type: preproc_def
      name: TYPE_MAGIC
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '0xfae932d9'
    - item_type: preproc_def
      name: KIND_MAGIC
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '0xfad72443'
    - item_type: preproc_def
      name: SYMBOL_MAGIC
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '0x3368c9fb'
    - item_type: preproc_def
      name: PROC_MAGIC
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '0xd1d98499'
    - item_type: preproc_def
      name: INIFIN_MAGIC
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '0x583c274c'
    - item_type: preproc_def
      name: VCC_MAGIC
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type_or_value: '0x24ad719d'
    structs:
    - fields:
      - name: tok
        type: unsigned
      - name: '*b'
        type: char
      - name: '*e'
        type: char
      - name: '*src'
        type: struct source
      - name: (token)
        type: VTAILQ_ENTRY
      - name: src_list
        type: VTAILQ_ENTRY
      - name: cnt
        type: unsigned
      - name: '*dec'
        type: char
      - name: num
        type: double
      item_type: struct
      name: token
      pos:
        line_end: 104
        line_start: 94
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*methods'
        type: struct vcc_method
      - name: '*global_pfx'
        type: char
      - name: '*tostring'
        type: char
      - name: multype
        type: vcc_type_t
      - name: '*default_sym'
        type: struct symbol
      - name: stringform
        type: int
      - name: bodyform
        type: int
      - name: noindent
        type: int
      item_type: struct
      name: type
      pos:
        line_end: 125
        line_start: 110
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      item_type: struct
      name: kind
      pos:
        line_end: 141
        line_start: 136
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: magic
        type: unsigned
      - name: (symbol)
        type: VTAILQ_ENTRY
      - name: sideways
        type: VTAILQ_ENTRY
      - name: '*name'
        type: char
      - name: lorev
        type: int
      - name: hirev
        type: int
      - name: '*symtab'
        type: struct symtab
      - name: '*vmod_name'
        type: char
      - name: '*wildcard'
        type: sym_wildcard_t
      - name: kind
        type: vcc_kind_t
      - name: '*action'
        type: sym_act_f
      - name: action_mask
        type: unsigned
      - name: '*def_b'
        type: struct token
      - name: type
        type: vcc_type_t
      - name: '*eval'
        type: sym_expr_t
      - name: '*eval_priv'
        type: void
      - name: '*proc'
        type: struct proc
      - name: noref
        type: unsigned
      - name: '*extra'
        type: char
      - name: '*import'
        type: struct vmod_import
      - name: '*rname'
        type: char
      - name: r_methods
        type: unsigned
      - name: '*lname'
        type: char
      - name: w_methods
        type: unsigned
      - name: '*uname'
        type: char
      - name: u_methods
        type: unsigned
      item_type: struct
      name: symbol
      pos:
        line_end: 210
        line_start: 167
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: magic
        type: unsigned
      - name: n
        type: unsigned
      - name: ignore_errors
        type: unsigned
      - name: '*ini'
        type: struct vsb
      - name: '*fin'
        type: struct vsb
      - name: '*final'
        type: struct vsb
      - name: '*event'
        type: struct vsb
      - name: (inifin)
        type: VTAILQ_ENTRY
      item_type: struct
      name: inifin
      pos:
        line_end: 244
        line_start: 234
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: '*name'
        type: char
      - name: ret_bitmap
        type: unsigned
      - name: bitval
        type: unsigned
      item_type: struct
      name: method
      pos:
        line_end: 309
        line_start: 305
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: symxref
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: '*name'
        type: char
      - name: noerr
        type: unsigned
      - name: partial
        type: unsigned
      item_type: struct
      name: symmode
      pos:
        line_end: 401
        line_start: 397
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    - fields:
      - name: '*name'
        type: char
      item_type: struct
      name: xrefuse
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
    typedefs:
    - item_type: typedef
      name: '*vcc_type_t'
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type: type
    - item_type: typedef
      name: '*vcc_kind_t'
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type: kind
    - item_type: typedef
      name: '*const vcc_ns_t'
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type: vcc_namespace
    - item_type: typedef
      name: "sym_expr_t(struct vcc *tl, struct expr **,\n    struct token *, struct
        symbol *sym, vcc_type_t)"
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type: void
    - item_type: typedef
      name: sym_wildcard_t(struct vcc *, struct symbol *, struct symbol *)
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type: void
    - item_type: typedef
      name: sym_act_f(struct vcc *, struct token *, struct symbol *)
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type: void
    - item_type: typedef
      name: symwalk_f(struct vcc *tl, const struct symbol *s)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.h
      type: void
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STANZA_TBL
      pos:
        line_end: 39
        line_start: 30
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.h
      type_or_value: "STANZA(ALIAS, alias, SYM_ALIAS) \\\n\tSTANZA(CPROTO, cproto,
        SYM_NONE) \\\n\tSTANZA(EVENT, event, SYM_NONE) \\\n\tSTANZA(FUNC, func, SYM_FUNC)
        \\\n\tSTANZA(METHOD, method, SYM_METHOD) \\\n\tSTANZA(OBJ, obj, SYM_OBJECT)
        \\\n\tSTANZA(VMOD, vmod, SYM_NONE) \\\n\tSTANZA(RESTRICT, restrict, SYM_NONE)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - vcc_act_call
  - vcc_assign_expr
  - vcc_act_set
  - vcc_act_unset
  - vcc_act_ban
  - vcc_act_hash_data
  - vcc_act_return_pass
  - vcc_act_return_fail
  - vcc_act_return_synth
  - vcc_act_return_vcl
  - vcc_act_return
  - VCL_RET_MAC
  - ACT
  - vcc_Action_Init
  source_file: /src/vinyl-cache/lib/libvcc/vcc_action.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: vcc_type_t
      - name: oper
        type: unsigned
      - name: want
        type: vcc_type_t
      - name: '*expr'
        type: char
      item_type: struct
      name: assign
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/vinyl-cache/lib/libvcc/vcc_action.c
    typedefs: []
    union: []
- function_names:
  - STANZA
  - vcc_Extract_JSON
  - vcc_ParseJSON
  - STANZA
  - vcc_VmodLoad
  - vcc_do_event
  - vcc_do_cproto
  - vcc_vj_foreach
  - vcc_emit_setup
  - vcc_vim_destroy
  - vcc_path_open
  - vcc_ParseImport
  - vcc_ImportVext
  source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_IMPORT_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
      type_or_value: '0x31803a5d'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*err'
        type: char
      - name: '*json'
        type: struct vsb
      - name: '*path'
        type: char
      - name: (vmod_import)
        type: VTAILQ_ENTRY
      - name: from_vext
        type: int
      - name: unimported_vext
        type: int
      - name: vmod_syntax
        type: double
      - name: '*name'
        type: char
      - name: '*func_name'
        type: char
      - name: '*file_id'
        type: char
      - name: '*abi'
        type: char
      - name: major
        type: unsigned
      - name: minor
        type: unsigned
      - name: '*sym'
        type: struct symbol
      - name: '*t_mod'
        type: struct token
      - name: '*vj'
        type: struct vjsn
      item_type: struct
      name: vmod_import
      pos:
        line_end: 72
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
    typedefs:
    - item_type: typedef
      name: "vcc_do_stanza_f(struct vcc *tl, const struct vmod_import *vim,\n    const
        struct vjsn_val *vv)"
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod.c
      type: void
    union: []
- function_names:
  - vcc_VmodObject
  - alias_sym
  - func_restrict
  - VCL_CTX
  - func_sym
  - vcc_VmodSymbols
  - STANZA
  - vcc_Act_New
  source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_OBJ_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
      type_or_value: '0x349885f8'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: type[1]
        type: struct type
      - name: (vmod_obj)
        type: VTAILQ_ENTRY
      item_type: struct
      name: vmod_obj
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/vinyl-cache/lib/libvcc/vcc_vmod_sym.c
    typedefs: []
    union: []
- function_names:
  - vcc_vcl_met2c
  - VCL_MET_MAC
  - TlAlloc
  - TlDup
  - TLWriteVSB
  - vcc_refUnusedProbes
  - vcc_NewProc
  - vcc_EmitProc
  - New_IniFin
  - Fh
  - Fb
  - Fc
  - EncToken
  - EmitCoordinates
  - EmitInitFini
  - EmitStruct
  - VCL_MET_MAC
  - vcc_CompileSource
  - vcc_ParseBuiltin
  - VCC_VCL_Range
  - VCC_Compile
  - VCC_New
  - VCC_Builtin_VCL
  - VCC_VCL_path
  - VCC_VMOD_path
  - VCC_FEATURE_BIT
  - vcc_predef_vcl
  - VCC_Predef
  - VCC_VEXT
  source_file: /src/vinyl-cache/lib/libvcc/vcc_compile.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vcc_new_source
  - vcc_file_source
  - vcc_include_file
  - vcc_include_glob_file
  - vcc_lex_include
  - vcc_lex_source
  source_file: /src/vinyl-cache/lib/libvcc/vcc_source.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vcc_stevedore
  source_file: /src/vinyl-cache/lib/libvcc/vcc_storage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCC_Type
  - VCC_TYPE
  - vcc_type_init
  - VCC_Type_EvalMethod
  - vcc_Type_Init
  - VCC_TYPE
  source_file: /src/vinyl-cache/lib/libvcc/vcc_types.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCC_METHOD_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvcc/vcc_types.c
      type_or_value: '0x594108cd'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: type
        type: vcc_type_t
      - name: '*name'
        type: char
      - name: '*impl'
        type: char
      - name: func
        type: int
      item_type: struct
      name: vcc_method
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvcc/vcc_types.c
    typedefs: []
    union: []
- function_names:
  - vcc_ErrToken
  - vcc__ErrInternal
  - vcc_iline
  - vcc_icoord
  - vcc_Coord
  - vcc_quoteline
  - vcc_markline
  - vcc_Warn
  - vcc_ErrWhere2
  - vcc_ErrWhere
  - vcc_PeekTokenFrom
  - vcc_PeekToken
  - vcc_NextToken
  - vcc__Expect
  - vcc_IdIs
  - vcc_PrintTokens
  - vcc_ExpectVid
  - vcc_decstr
  - vcc_addtoken
  - vcc_delim_token
  - vcc_lex_number_token_valid
  - vcc_lex_number
  - vcc_Lexer
  source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*b'
        type: char
      - name: '*e'
        type: char
      - name: len
        type: unsigned
      - name: crlf
        type: unsigned
      - name: tok
        type: unsigned
      item_type: struct
      name: delim_def
      pos:
        line_end: 423
        line_start: 416
        source_file: /src/vinyl-cache/lib/libvcc/vcc_token.c
    typedefs: []
    union: []
- function_names:
  - vcc_cstrcat
  - vcc_regexp
  - vcc_suckaddr
  - rs_callback
  - Resolve_Sockaddr
  - vcc_BoolVal
  - vcc_DurationUnit
  - vcc_UintVal
  - vcc_DoubleVal
  - vcc_Duration
  - vcc_ByteVal
  - vcc_IsFlagRaw
  - vcc_IsFlag
  - vcc_Dup_be
  - vcc_Has_vcl_prefix
  source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RSS_MAGIC
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
      type_or_value: '0x11e966ab'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vsa4'
        type: struct suckaddr
      - name: '*vsa6'
        type: struct suckaddr
      - name: '*vsb'
        type: struct vsb
      - name: retval
        type: int
      - name: wrong
        type: int
      item_type: struct
      name: rss
      pos:
        line_end: 180
        line_start: 171
        source_file: /src/vinyl-cache/lib/libvcc/vcc_utils.c
    typedefs: []
    union: []
- function_names:
  - vcc_Header_Fh
  - vcc_Var_Wildcard
  source_file: /src/vinyl-cache/lib/libvcc/vcc_var.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vcc_checkref
  - vcc_CheckReferences
  - vcc_AddUses
  - vcc_AddCall
  - vcc_ProcAction
  - vcc_CheckActionRecurse
  - VCL_RET_MAC
  - vcc_checkaction
  - VCL_RET_MAC
  - vcc_CheckAction
  - vcc_illegal_write
  - vcc_FindIllegalUse
  - vcc_CheckUseRecurse
  - vcc_checkuses
  - vcc_checkpossible
  - vcc_CheckUses
  - vcc_instance_info
  - VCC_InstanceInfo
  - vcc_xreftable_len
  - vcc_xreftable
  - VCC_XrefTable
  source_file: /src/vinyl-cache/lib/libvcc/vcc_xref.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: n
      pos:
        line_end: 462
        line_start: 456
        source_file: /src/vinyl-cache/lib/libvcc/vcc_xref.c
      type_or_value: \n");
    structs:
    - fields:
      - name: (proccall)
        type: VTAILQ_ENTRY
      - name: '*sym'
        type: struct symbol
      - name: '*t'
        type: struct token
      - name: '*fm'
        type: struct proc
      item_type: struct
      name: proccall
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    - fields:
      - name: (procuse)
        type: VTAILQ_ENTRY
      - name: '*t1'
        type: struct token
      - name: '*t2'
        type: struct token
      - name: '*sym'
        type: struct symbol
      - name: '*use'
        type: struct xrefuse
      - name: mask
        type: unsigned
      - name: '*fm'
        type: struct proc
      item_type: struct
      name: procuse
      pos:
        line_end: 63
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvcc/vcc_xref.c
    typedefs: []
    union: []
- function_names:
  - vcc_isconst
  - vcc_islit
  - vcc_utype
  - vcc_stringstype
  - vcc_new_expr
  - vcc_mk_expr
  - vcc_delete_expr
  - vcc_strands_edit
  - vcc_expr_edit
  - vcc_expr_fmt
  - vcc_expr_tobool
  - vcc_expr_tostring
  - vcc_Eval_Handle
  - vcc_Eval_Sub
  - vcc_Eval_Var
  - vcc_Eval_ProtectedHeader
  - vcc_priv_arg
  - vcc_do_enum
  - vcc_do_arg
  - vcc_func
  - vcc_Eval_Func
  - vcc_Eval_SymFunc
  - vcc_number
  - vcc_expr5
  - vcc_Eval_TypeMethod
  - vcc_expr4
  - vcc_expr_mul
  - vcc_expr_add
  - cmp_simple
  - cmp_regexp
  - cmp_acl
  - cmp_string
  - PTR_REL
  - IDENT_REL
  - NUM_REL
  - vcc_expr_cmp
  - vcc_expr_not
  - vcc_expr_bin_bool
  - vcc_expr_cand
  - vcc_expr_cor
  - vcc_expr0
  - vcc_expr_typecheck
  - vcc_Expr
  - vcc_Act_Call
  - vcc_Act_Obj
  - vcc_Eval_Regsub
  - vcc_Eval_BoolConst
  - vcc_Eval_Default
  - vcc_Expr_Init
  source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPR_MAGIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
      type_or_value: '0x38c794ab'
    - item_type: preproc_def
      name: EXPR_VAR
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
      type_or_value: (1<<0)
    - item_type: preproc_def
      name: EXPR_CONST
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: EXPR_STR_CONST
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
      type_or_value: "(1<<2)\t\t// Last string elem is \"...\""
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: fmt
        type: vcc_type_t
      - name: '*vsb'
        type: struct vsb
      - name: constant
        type: uint8_t
      - name: '*t1'
        type: struct token
      - name: '*instance'
        type: struct symbol
      - name: nstr
        type: int
      item_type: struct
      name: expr
      pos:
        line_end: 54
        line_start: 42
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - fields:
      - name: type
        type: vcc_type_t
      - name: '*enums'
        type: struct vjsn_val
      - name: '*cname'
        type: char
      - name: '*name'
        type: char
      - name: '*val'
        type: char
      - name: '*result'
        type: struct expr
      - name: avail
        type: int
      - name: optional
        type: int
      - name: (func_arg)
        type: VTAILQ_ENTRY
      item_type: struct
      name: func_arg
      pos:
        line_end: 453
        line_start: 443
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - fields:
      - name: op
        type: unsigned
      - name: a
        type: vcc_type_t
      - name: b
        type: vcc_type_t
      - name: fmt
        type: vcc_type_t
      item_type: struct
      name: adds
      pos:
        line_end: 1036
        line_start: 1031
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    - fields:
      - name: fmt
        type: vcc_type_t
      - name: token
        type: unsigned
      - name: '*func'
        type: cmp_f
      - name: '*emit'
        type: char
      item_type: struct
      name: cmps
      pos:
        line_end: 1141
        line_start: 1136
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
    typedefs:
    - item_type: typedef
      name: cmp_f(struct vcc *, struct expr **, const struct cmps *)
      pos:
        line_end: 1134
        line_start: 1134
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
      type: void
    - item_type: typedef
      name: upfunc(struct vcc *tl, struct expr **e, vcc_type_t fmt)
      pos:
        line_end: 1350
        line_start: 1350
        source_file: /src/vinyl-cache/lib/libvcc/vcc_expr.c
      type: void
    union: []
- function_names:
  - vcc_ResetFldSpec
  - vcc_FldSpec
  - vcc_IsField
  - vcc_FieldsOk
  source_file: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*found'
        type: struct token
      item_type: struct
      name: fld_spec
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvcc/vcc_backend_util.c
    typedefs: []
    union: []
- function_names:
  - ptag_cmp
  - print_tabbed
  - main
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: tag
        type: unsigned
      - name: flags
        type: unsigned
      - name: '*name'
        type: char
      - name: '*sdesc'
        type: char
      - name: '*ldesc'
        type: char
      item_type: struct
      name: SLT
      pos:
        line_end: 48
        line_start: 42
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl2rst.c
    typedefs: []
    union: []
- function_names:
  - vsl_diag
  - VSL_New
  - vsl_IX_free
  - VSL_Delete
  - VSL_Error
  - VSL_ResetError
  - vsl_match_IX
  - VTAILQ_FOREACH
  - VSL_Match
  - VSL_PRINT
  - vsl_print_unsafe
  - vsl_print_binary
  - vsl_print
  - VSL_Print
  - VSL_PrintTerse
  - VSL_PrintAll
  - VSL_PrintTransactions
  - VSL_WriteOpen
  - VSL_Write
  - VSL_WriteAll
  - VSL_WriteTransactions
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vxp_append_token
  - vxp_decstr
  - vxp_Lexer
  - vxp_PrintTokens
  source_file: /src/vinyl-cache/lib/libvinylapi/vxp_lexer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isword
  - PF
  - ERRCHK
  - ExpectErr
  - SkipToken
  source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
  types:
    enum:
    - enumerators:
      - name: VEX__UNSET
      - name: VEX_FLOAT
      - name: VEX_STRING
      - name: VEX_REGEX
      - name: VEX_INT
      item_type: enum
      name: vex_rhs_e
      pos:
        line_end: 96
        line_start: 90
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
    preproc_defs:
    - item_type: preproc_def
      name: VXP_MAGIC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
      type_or_value: '0x59C7F6AC'
    - item_type: preproc_def
      name: VEX_LHS_MAGIC
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
      type_or_value: '0x1AD3D78D'
    - item_type: preproc_def
      name: VEX_RHS_MAGIC
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
      type_or_value: '0x3F109965'
    - item_type: preproc_def
      name: VEX_MAGIC
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
      type_or_value: '0xC7DB792D'
    - item_type: preproc_def
      name: VEX_OPT_CASELESS
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
      type_or_value: (1 << 0)
    structs:
    - fields:
      - name: (membit)
        type: VTAILQ_ENTRY
      - name: '*ptr'
        type: void
      item_type: struct
      name: membit
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
    - fields:
      - name: tok
        type: unsigned
      - name: '*b'
        type: char
      - name: '*e'
        type: char
      - name: list
        type: VTAILQ_ENTRY
      - name: '*dec'
        type: char
      item_type: struct
      name: token
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*tags'
        type: struct vbitmap
      - name: '*prefix'
        type: char
      - name: prefixlen
        type: int
      - name: field
        type: int
      - name: level
        type: int
      - name: level_pm
        type: int
      - name: taglist
        type: unsigned
      - name: vxid
        type: int64_t
      item_type: struct
      name: vex_lhs
      pos:
        line_end: 88
        line_start: 74
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
    - fields:
      - name: magic
        type: unsigned
      - name: type
        type: enum vex_rhs_e
      - name: val_int
        type: int64_t
      - name: val_float
        type: double
      - name: '*val_string'
        type: char
      - name: val_stringlen
        type: size_t
      - name: '*val_regex'
        type: vre_t
      item_type: struct
      name: vex_rhs
      pos:
        line_end: 109
        line_start: 98
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
    - fields:
      - name: magic
        type: unsigned
      - name: tok
        type: unsigned
      - name: options
        type: unsigned
      - name: '*a'
        type: struct vex
      - name: '*lhs'
        type: struct vex_lhs
      - name: '*rhs'
        type: struct vex_rhs
      item_type: struct
      name: vex
      pos:
        line_end: 119
        line_start: 111
        source_file: /src/vinyl-cache/lib/libvinylapi/vxp.h
    typedefs: []
    union: []
- function_names:
  - VSC_New
  - vsc_sf_arg
  - vsc_f_arg
  - VSC_Arg
  - VSC_IsRaw
  - vsc_filter
  - vsc_clean_point
  - vsc_fill_point
  - DOF
  - vsc_new_seg
  - vsc_unmap_seg
  - vsc_map_seg
  - vsc_expose
  - vsc_del_segs
  - VTAILQ_FOREACH_SAFE
  - vsc_iter_seg
  - VSC_Iter
  - VSC_State
  - VSC_ChangeLevel
  - VSC_Destroy
  source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
  types:
    enum:
    - enumerators:
      - name: VSC_SEG_COUNTERS
        value: '1'
      - name: VSC_SEG_DOCS
      item_type: enum
      name: vsc_seg_type
      pos:
        line_end: 84
        line_start: 81
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    preproc_defs:
    - item_type: preproc_def
      name: VSC_SF_MAGIC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
      type_or_value: '0x558478dd'
    - item_type: preproc_def
      name: VSC_SEG_MAGIC
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
      type_or_value: '0x801177d4'
    - item_type: preproc_def
      name: VSC_MAGIC
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
      type_or_value: '0x3373554a'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: include
        type: unsigned
      - name: fail
        type: unsigned
      - name: append
        type: unsigned
      item_type: struct
      name: vsc_sf_mode
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - fields:
      - name: magic
        type: unsigned
      - name: (vsc_sf)
        type: VTAILQ_ENTRY
      - name: '*pattern'
        type: char
      - name: '*mode'
        type: struct vsc_sf_mode
      item_type: struct
      name: vsc_sf
      pos:
        line_end: 72
        line_start: 66
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - fields:
      - name: point
        type: struct VSC_point
      - name: '*name'
        type: char
      item_type: struct
      name: vsc_pt
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - fields:
      - name: magic
        type: unsigned
      - name: type
        type: enum vsc_seg_type
      - name: (vsc_seg)
        type: VTAILQ_ENTRY
      - name: doc_list
        type: VTAILQ_ENTRY
      - name: fantom[1]
        type: struct vsm_fantom
      - name: '*head'
        type: struct vsc_head
      - name: '*body'
        type: char
      - name: '*vj'
        type: struct vjsn
      - name: npoints
        type: unsigned
      - name: '*points'
        type: struct vsc_pt
      - name: mapped
        type: int
      - name: exposed
        type: int
      item_type: struct
      name: vsc_seg
      pos:
        line_end: 103
        line_start: 86
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    - fields:
      - name: magic
        type: unsigned
      - name: raw
        type: unsigned
      - name: sf_list
        type: struct vsc_sf_head
      - name: segs
        type: struct vsc_seg_head
      - name: docs
        type: struct vsc_seg_head
      - name: '*fnew'
        type: VSC_new_f
      - name: '*fdestroy'
        type: VSC_destroy_f
      - name: '*priv'
        type: void
      item_type: struct
      name: vsc
      pos:
        line_end: 118
        line_start: 106
        source_file: /src/vinyl-cache/lib/libvinylapi/vsc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSL_FILE_ID
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type_or_value: (vsl_file_id)
    - item_type: preproc_def
      name: VSLC_TBL_MAGIC
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type_or_value: '0x5007C0DE'
    - item_type: preproc_def
      name: VSLF_MAGIC
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type_or_value: '0x08650B39'
    - item_type: preproc_def
      name: VSL_MAGIC
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type_or_value: '0x8E6C92AA'
    - item_type: preproc_def
      name: F_SEEN_ixIX
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type_or_value: (1 << 0)
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*delete'
        type: vslc_delete_f
      - name: '*next'
        type: vslc_next_f
      - name: '*reset'
        type: vslc_reset_f
      - name: '*check'
        type: vslc_check_f
      item_type: struct
      name: vslc_tbl
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
    - fields:
      - name: magic
        type: unsigned
      - name: (vslf)
        type: VTAILQ_ENTRY
      - name: '*tags'
        type: struct vbitmap
      - name: '*vre'
        type: vre_t
      item_type: struct
      name: vslf
      pos:
        line_end: 65
        line_start: 58
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
    - fields:
      - name: magic
        type: unsigned
      - name: '*diag'
        type: struct vsb
      - name: flags
        type: unsigned
      - name: '*vbm_select'
        type: struct vbitmap
      - name: '*vbm_suppress'
        type: struct vbitmap
      - name: vslf_select
        type: vslf_list
      - name: vslf_suppress
        type: vslf_list
      - name: b_opt
        type: int
      - name: c_opt
        type: int
      - name: C_opt
        type: int
      - name: E_opt
        type: int
      - name: L_opt
        type: int
      - name: R_opt_l
        type: int
      - name: R_opt_p
        type: vtim_dur
      - name: T_opt
        type: double
      - name: v_opt
        type: int
      item_type: struct
      name: VSL_data
      pos:
        line_end: 95
        line_start: 69
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
    typedefs:
    - item_type: typedef
      name: vslc_delete_f(const struct VSL_cursor *)
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type: void
    - item_type: typedef
      name: vslc_next_f(const struct VSL_cursor *)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type: vsl_status
    - item_type: typedef
      name: vslc_reset_f(const struct VSL_cursor *)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type: vsl_status
    - item_type: typedef
      name: "vslc_check_f(const struct VSL_cursor *,\n    const struct VSLC_ptr *)"
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type: vsl_check
    - item_type: typedef
      name: vslf_list
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_api.h
      type: VTAILQ_HEAD
    union: []
- function_names:
  - VSM_PRIV_LOW
  - VSM_PRIV_HIGH
  - VSM_PRIV_MERGE
  - vsm_diag
  - vsm_mapseg
  - vsm_unmapseg
  - vsm_delseg
  - vsm_newset
  - vsm_delset
  - vsm_wash_set
  - VSM_New
  - VSM_Arg
  - VSM_Destroy
  - VSM_Error
  - VSM_ResetError
  - vsm_cmp_av
  - vsm_findcluster
  - vsm_running
  - vsm_vlu_hash
  - vsm_vlu_plus
  - vsm_vlu_minus
  - vsm_vlu_func
  - vsm_readlines
  - vsm_refresh_set
  - VSM_Status
  - VSM_Attach
  - vsm_set_findseg
  - vsm_findseg
  - VSM__iter0
  - VSM__itern
  - VSM_Map
  - VSM_Unmap
  - VSM_StillValid
  - VSM_Get
  - VSM_FOREACH
  - VSM_Dup
  source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAP_HASSEMAPHORE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: MAP_NOSYNC
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: '0 '
    - item_type: preproc_def
      name: VSM_PRIV_SHIFT
      pos:
        line_end: 77
        line_start: 75
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: (sizeof (uint64_t) * 4)
    - item_type: preproc_def
      name: VSM_PRIV_MASK
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: ((1ULL << VSM_PRIV_SHIFT) - 1)
    - item_type: preproc_def
      name: VSM_SEG_MAGIC
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: '0xeb6c6dfd'
    - item_type: preproc_def
      name: VSM_FLAG_MARKSCAN
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: (1U<<1)
    - item_type: preproc_def
      name: VSM_FLAG_STALE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: (1U<<2)
    - item_type: preproc_def
      name: VSM_FLAG_CLUSTER
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: (1U<<3)
    - item_type: preproc_def
      name: VSM_SET_MAGIC
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: '0xdee401b8'
    - item_type: preproc_def
      name: VSM_MAGIC
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
      type_or_value: '0x6e3bd69b'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: flags
        type: unsigned
      - name: (vsm_seg)
        type: VTAILQ_ENTRY
      - name: clist
        type: VTAILQ_ENTRY
      - name: '*set'
        type: struct vsm_set
      - name: '*cluster'
        type: struct vsm_seg
      - name: '**av'
        type: char
      - name: refs
        type: int
      - name: '*s'
        type: void
      - name: sz
        type: size_t
      - name: '*b'
        type: void
      - name: '*e'
        type: void
      - name: serial
        type: uint64_t
      item_type: struct
      name: vsm_seg
      pos:
        line_end: 108
        line_start: 90
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*dname'
        type: char
      - name: '*vsm'
        type: struct vsm
      - name: (,vsm_seg)
        type: VTAILQ_HEAD
      - name: (,vsm_seg)
        type: VTAILQ_HEAD
      - name: (,vsm_seg)
        type: VTAILQ_HEAD
      - name: dfd
        type: int
      - name: dst
        type: struct stat
      - name: fd
        type: int
      - name: fst
        type: struct stat
      - name: id1
        type: uintmax_t
      - name: '*vlu'
        type: struct vlu
      - name: retval
        type: unsigned
      - name: '*vg'
        type: struct vsm_seg
      - name: flag_running
        type: unsigned
      - name: flag_changed
        type: unsigned
      - name: flag_restarted
        type: unsigned
      - name: couldkill
        type: int
      item_type: struct
      name: vsm_set
      pos:
        line_end: 137
        line_start: 110
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*diag'
        type: struct vsb
      - name: serial
        type: uint64_t
      - name: wdfd
        type: int
      - name: wdst
        type: struct stat
      - name: '*wdname'
        type: char
      - name: '*mgt'
        type: struct vsm_set
      - name: '*child'
        type: struct vsm_set
      - name: attached
        type: int
      - name: patience
        type: double
      item_type: struct
      name: vsm
      pos:
        line_end: 155
        line_start: 139
        source_file: /src/vinyl-cache/lib/libvinylapi/vsm.c
    typedefs: []
    union: []
- function_names:
  - vut_daemon
  - vut_vpf_remove
  - vut_dispatch
  - VUT_Error
  - vut_arg_q
  - VUT_Arg
  - VUT_Init
  - VUT_Signal
  - VUT_Signaled
  - VSIG_SIGNAL
  - VUT_Setup
  - VUT_Fini
  - vut_CursorError
  - VUT_Main
  - v_noreturn_::VUT_Usage
  - print_nobrackets
  - print_tabbed
  - print_opt
  - vut_synopsis
  - vut_options
  source_file: /src/vinyl-cache/lib/libvinylapi/vut.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vtx_keycmp
  - vslc_raw_next
  - vslc_raw_reset
  - vslc_vtx_next
  - vslc_vtx_reset
  - chunk_newbuf
  - chunk_freebuf
  - chunk_appendbuf
  - chunk_shm_to_buf
  - vtx_append
  - vtx_new
  - vtx_retire
  - vtx_lookup
  - vtx_add
  - vtx_mark_complete
  - vtx_set_parent
  - vtx_parse_link
  - vtx_scan_begin
  - vtx_scan_link
  - vtx_scan
  - vtx_force
  - vslq_ratelimit
  - vslq_callback
  - vtx_synth_rec
  - vtx_diag
  - vtx_diag_tag
  - VSLQ_New
  - VSLQ_Delete
  - VSLQ_SetCursor
  - vslq_raw
  - vslq_shmref_check
  - vslq_candidate
  - vslq_next
  - vslq_process_ready
  - VSLQ_Dispatch
  - VSLQ_Flush
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
  types:
    enum:
    - enumerators:
      - name: chunk_t__unassigned
      - name: chunk_t_buf
      - name: chunk_t_shm
      item_type: enum
      name: chunk_t
      pos:
        line_end: 103
        line_start: 99
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    preproc_defs:
    - item_type: preproc_def
      name: VTX_CACHE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '10'
    - item_type: preproc_def
      name: VTX_BUFSIZE_MIN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '64'
    - item_type: preproc_def
      name: VTX_SHMCHUNKS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '3'
    - item_type: preproc_def
      name: VSLC_RAW_MAGIC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x247EBD44'
    - item_type: preproc_def
      name: SYNTH_MAGIC
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0xC654479F'
    - item_type: preproc_def
      name: CHUNK_MAGIC
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x48DC0194'
    - item_type: preproc_def
      name: VSLC_VTX_MAGIC
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x74C6523F'
    - item_type: preproc_def
      name: VTX_MAGIC
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0xACC21D09'
    - item_type: preproc_def
      name: VTX_F_BEGIN
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: VTX_F_END
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: VTX_F_COMPLETE
      pos:
        line_end: 157
        line_start: 155
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: VTX_F_READY
      pos:
        line_end: 159
        line_start: 157
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x8 '
    - item_type: preproc_def
      name: VSLQ_MAGIC
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
      type_or_value: '0x23A8BE97'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: cursor
        type: struct VSL_cursor
      - name: '*ptr'
        type: uint32_t
      item_type: struct
      name: vslc_raw
      pos:
        line_end: 87
        line_start: 80
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - fields:
      - name: magic
        type: unsigned
      - name: (synth)
        type: VTAILQ_ENTRY
      - name: offset
        type: size_t
      - name: data[VSL_OVERHEAD + VSL_WORDS(64)]
        type: uint32_t
      item_type: struct
      name: synth
      pos:
        line_end: 96
        line_start: 89
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - fields:
      - name: magic
        type: unsigned
      - name: type
        type: enum chunk_t
      - name: len
        type: size_t
      - name: '*vtx'
        type: struct vtx
      - name: list
        type: VTAILQ_ENTRY
      item_type: struct
      name: chunk
      pos:
        line_end: 122
        line_start: 105
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - fields:
      - name: magic
        type: unsigned
      - name: cursor
        type: struct VSL_cursor
      - name: '*vtx'
        type: struct vtx
      - name: '*synth'
        type: struct synth
      - name: '*chunk'
        type: struct chunk
      - name: chunkstart
        type: size_t
      - name: offset
        type: size_t
      item_type: struct
      name: vslc_vtx
      pos:
        line_end: 136
        line_start: 125
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - fields:
      - name: vxid
        type: uint64_t
      - name: (vtx_key)
        type: VRBT_ENTRY
      item_type: struct
      name: vtx_key
      pos:
        line_end: 141
        line_start: 138
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - fields:
      - name: key
        type: struct vtx_key
      - name: magic
        type: unsigned
      - name: list_child
        type: VTAILQ_ENTRY
      - name: list_vtx
        type: VTAILQ_ENTRY
      - name: t_start
        type: double
      - name: flags
        type: unsigned
      - name: type
        type: enum VSL_transaction_e
      - name: reason
        type: enum VSL_reason_e
      - name: '*parent'
        type: struct vtx
      - name: child
        type: struct vtxhead
      - name: n_child
        type: unsigned
      - name: n_childready
        type: unsigned
      - name: n_descend
        type: unsigned
      - name: synth
        type: struct synthhead
      - name: shmchunks[VTX_SHMCHUNKS]
        type: struct chunk
      - name: shmchunks_free
        type: struct chunkhead
      - name: chunks
        type: struct chunkhead
      - name: len
        type: size_t
      - name: c
        type: struct vslc_vtx
      item_type: struct
      name: vtx
      pos:
        line_end: 178
        line_start: 144
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*vsl'
        type: struct VSL_data
      - name: '*c'
        type: struct VSL_cursor
      - name: '*query'
        type: struct vslq_query
      - name: grouping
        type: enum VSL_grouping_e
      - name: tree
        type: struct vtx_tree
      - name: ready
        type: struct vtxhead
      - name: incomplete
        type: struct vtxhead
      - name: n_outstanding
        type: int
      - name: shmrefs
        type: struct chunkhead
      - name: cache
        type: struct vtxhead
      - name: n_cache
        type: unsigned
      - name: credits
        type: double
      - name: last_use
        type: vtim_mono
      - name: raw
        type: "struct {\n\t\tstruct vslc_raw\t\tc;\n\t\tstruct VSL_transaction\ttrans;\n\t\tstruct
          VSL_transaction\t*ptrans[2];\n\t\tstruct VSLC_ptr\t\tstart;\n\t\tssize_t\t\t\tlen;\n\t\tssize_t\t\t\toffset;\n\t}"
      item_type: struct
      name: VSLQ
      pos:
        line_end: 212
        line_start: 180
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_dispatch.c
    typedefs: []
    union: []
- function_names:
  - VSIG_SIGNAL
  - VSIG_SIGNAL
  - VSIG_SIGNAL
  source_file: /src/vinyl-cache/lib/libvinylapi/vsig.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vxp_ErrToken
  - vxp_Pos
  - vxp_quote
  - vxp_ErrWhere
  - vxp_NextToken
  - vxp__Expect
  - vxp_DoFree
  - vxp_Alloc
  - vxp_New
  - vxp_Delete
  - vex_New
  source_file: /src/vinyl-cache/lib/libvinylapi/vxp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSLQ_TEST_NUMOP
  - vslq_test_vxid
  - VXID_TEST_NUMOP
  - vslq_test_rec
  - vslq_test
  - vslq_exec
  - vslq_newquery
  - vslq_deletequery
  - vslq_runquery
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSLQ_QUERY_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
      type_or_value: '0x122322A5'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vex'
        type: struct vex
      item_type: struct
      name: vslq_query
      pos:
        line_end: 57
        line_start: 52
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_query.c
    typedefs: []
    union: []
- function_names:
  - vex_alloc
  - vxp_expr_lhs
  - vxp_expr_num
  - vxp_expr_str
  - vxp_expr_regex
  - vxp_vxid_cmp
  - vxp_expr_cmp
  - vxp_expr_group
  - vxp_expr_not
  - vxp_expr_and
  - vxp_expr_or
  - vxp_expr
  - vxp_Parse
  - vex_Free
  - vex_print_rhs
  - vex_print_tags
  - vex_print
  - vex_PrintTree
  source_file: /src/vinyl-cache/lib/libvinylapi/vxp_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSL_Name2Tag
  - VSL_Glob2Tags
  - VSL_List2Tags
  - VSLQ_Name2Grouping
  - vsl_vbm_bitset
  - vsl_vbm_bitclr
  - vsl_ix_arg
  - vsl_IX_arg
  - vsl_R_arg
  - VSL_Arg
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl_arg.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cb
  - tst_one_glob
  - main
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FNM_CASEFOLD
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_glob_test.c
      type_or_value: FNM_IGNORECASE
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/vinyl-cache/lib/libvinylapi/vxp_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vslc_vsm_delete
  - vslc_vsm_check
  - vslc_vsm_next
  - vslc_vsm_reset
  - VSL_CursorVSM
  - vslc_file_delete
  - vslc_file_readn
  - vslc_file_next
  - vslc_file_reset
  - vslc_mmap_delete
  - vslc_mmap_next
  - vslc_mmap_reset
  - vslc_mmap_check
  - vsl_cursor_mmap
  - VSL_CursorFile
  - VSL_DeleteCursor
  - VSL_ResetCursor
  - VSL_Next
  - VSL_Check
  source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSLC_VSM_MAGIC
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
      type_or_value: '0x4D3903A6'
    - item_type: preproc_def
      name: VSLC_FILE_MAGIC
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
      type_or_value: '0x1D65FFEF'
    - item_type: preproc_def
      name: VSLC_MMAP_MAGIC
      pos:
        line_end: 412
        line_start: 411
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
      type_or_value: '0x7de15f61'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: cursor
        type: struct VSL_cursor
      - name: options
        type: unsigned
      - name: '*vsm'
        type: struct vsm
      - name: vf
        type: struct vsm_fantom
      - name: '*head'
        type: struct VSL_head
      - name: '*end'
        type: uint32_t
      - name: next
        type: struct VSLC_ptr
      item_type: struct
      name: vslc_vsm
      pos:
        line_end: 74
        line_start: 60
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - fields:
      - name: magic
        type: unsigned
      - name: fd
        type: int
      - name: close_fd
        type: int
      - name: buflen
        type: ssize_t
      - name: '*buf'
        type: uint32_t
      - name: cursor
        type: struct VSL_cursor
      item_type: struct
      name: vslc_file
      pos:
        line_end: 318
        line_start: 307
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    - fields:
      - name: magic
        type: unsigned
      - name: fd
        type: int
      - name: close_fd
        type: int
      - name: '*b'
        type: char
      - name: '*e'
        type: char
      - name: cursor
        type: struct VSL_cursor
      - name: next
        type: struct VSLC_ptr
      item_type: struct
      name: vslc_mmap
      pos:
        line_end: 418
        line_start: 409
        source_file: /src/vinyl-cache/lib/libvinylapi/vsl_cursor.c
    typedefs: []
    union: []
- function_names:
  - vfil_null_fd
  - vinyl_daemon
  source_file: /src/vinyl-cache/lib/libvinylapi/daemon.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RANK
  - UPDATE_HASH
  - INSERT_STRING
  - INSERT_STRING
  - CLEAR_HASH
  - slide_hash
  - read_buf
  - fill_window
  - deflateInit_
  - deflateInit2_
  - deflateStateCheck
  - deflateSetDictionary
  - deflateGetDictionary
  - lm_init
  - deflateReset
  - deflateSetHeader
  - deflatePending
  - deflateUsed
  - deflatePrime
  - deflateParams
  - deflateTune
  - deflateBound
  - putShortMSB
  - flush_pending
  - HCRC_UPDATE
  - deflate
  - deflateEnd
  - deflateCopy
  - longest_match
  - longest_match
  - check_match
  - FLUSH_BLOCK_ONLY
  - FLUSH_BLOCK
  - MIN
  - block_state::deflate_stored
  - block_state::deflate_fast
  - block_state::deflate_slow
  - block_state::deflate_rle
  - block_state::deflate_huff
  source_file: /src/vinyl-cache/lib/libvgz/deflate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NIL
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/vinyl-cache/lib/libvgz/deflate.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TOO_FAR
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/lib/libvgz/deflate.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: EQUAL
      pos:
        line_end: 1594
        line_start: 1593
        source_file: /src/vinyl-cache/lib/libvgz/deflate.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_STORED
      pos:
        line_end: 1650
        line_start: 1649
        source_file: /src/vinyl-cache/lib/libvgz/deflate.c
      type_or_value: '65535'
    structs:
    - fields:
      - name: good_length
        type: ush
      - name: max_lazy
        type: ush
      - name: nice_length
        type: ush
      - name: max_chain
        type: ush
      - name: func
        type: compress_func
      item_type: struct
      name: config_s
      pos:
        line_end: 106
        line_start: 100
        source_file: /src/vinyl-cache/lib/libvgz/deflate.c
    typedefs:
    - item_type: typedef
      name: (*compress_func) (deflate_state *s, int flush)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/vinyl-cache/lib/libvgz/deflate.c
      type: block_state
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvgz/inffixed.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - put_byte
  - MAX_DIST
  - d_code
  - _tr_tally_lit
  - _tr_tally_dist
  - _tr_tally_lit
  - _tr_tally_dist
  - _tr_tally_lit
  - _tr_tally_dist
  source_file: /src/vinyl-cache/lib/libvgz/deflate.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LENGTH_CODES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '29'
    - item_type: preproc_def
      name: LITERALS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '256'
    - item_type: preproc_def
      name: L_CODES
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: (LITERALS+1+LENGTH_CODES)
    - item_type: preproc_def
      name: D_CODES
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '30'
    - item_type: preproc_def
      name: BL_CODES
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '19'
    - item_type: preproc_def
      name: HEAP_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: (2*L_CODES+1)
    - item_type: preproc_def
      name: MAX_BITS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '15'
    - item_type: preproc_def
      name: Buf_size
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '16'
    - item_type: preproc_def
      name: INIT_STATE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '42    '
    - item_type: preproc_def
      name: GZIP_STATE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '57    '
    - item_type: preproc_def
      name: EXTRA_STATE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '69    '
    - item_type: preproc_def
      name: NAME_STATE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '73    '
    - item_type: preproc_def
      name: COMMENT_STATE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '91    '
    - item_type: preproc_def
      name: HCRC_STATE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '103    '
    - item_type: preproc_def
      name: BUSY_STATE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '113    '
    - item_type: preproc_def
      name: FINISH_STATE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '666    '
    - item_type: preproc_def
      name: Freq
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: fc.freq
    - item_type: preproc_def
      name: Code
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: fc.code
    - item_type: preproc_def
      name: Dad
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: dl.dad
    - item_type: preproc_def
      name: Len
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: dl.len
    - item_type: preproc_def
      name: max_insert_length
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: max_lazy_match
    - item_type: preproc_def
      name: LIT_BUFS
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '5'
    - item_type: preproc_def
      name: LIT_BUFS
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: '4'
    - item_type: preproc_def
      name: MIN_LOOKAHEAD
      pos:
        line_end: 293
        line_start: 292
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: (MAX_MATCH+MIN_MATCH+1)
    - item_type: preproc_def
      name: WIN_INIT
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type_or_value: MAX_MATCH
    structs:
    - fields:
      - name: fc
        type: "union {\n        ush  freq;       /* frequency count */\n        ush
          \ code;       /* bit string */\n    }"
      - name: dl
        type: "union {\n        ush  dad;        /* father node in Huffman tree */\n
          \       ush  len;        /* length of bit string */\n    }"
      item_type: struct
      name: ct_data_s
      pos:
        line_end: 80
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
    - fields:
      - name: '*dyn_tree'
        type: ct_data
      - name: max_code
        type: int
      - name: '*stat_desc'
        type: static_tree_desc
      item_type: struct
      name: tree_desc_s
      pos:
        line_end: 93
        line_start: 89
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
    - fields:
      - name: strm
        type: z_streamp
      - name: status
        type: int
      - name: '*pending_buf'
        type: Bytef
      - name: pending_buf_size
        type: ulg
      - name: '*pending_out'
        type: Bytef
      - name: pending
        type: ulg
      - name: wrap
        type: int
      - name: gzhead
        type: gz_headerp
      - name: gzindex
        type: ulg
      - name: method
        type: Byte
      - name: last_flush
        type: int
      - name: w_size
        type: uInt
      - name: w_bits
        type: uInt
      - name: w_mask
        type: uInt
      - name: '*window'
        type: Bytef
      - name: window_size
        type: ulg
      - name: '*prev'
        type: Posf
      - name: '*head'
        type: Posf
      - name: ins_h
        type: uInt
      - name: hash_size
        type: uInt
      - name: hash_bits
        type: uInt
      - name: hash_mask
        type: uInt
      - name: hash_shift
        type: uInt
      - name: block_start
        type: long
      - name: match_length
        type: uInt
      - name: prev_match
        type: IPos
      - name: match_available
        type: int
      - name: strstart
        type: uInt
      - name: match_start
        type: uInt
      - name: lookahead
        type: uInt
      - name: prev_length
        type: uInt
      - name: max_chain_length
        type: uInt
      - name: max_lazy_match
        type: uInt
      - name: level
        type: int
      - name: strategy
        type: int
      - name: good_match
        type: uInt
      - name: nice_match
        type: int
      - name: dyn_ltree[HEAP_SIZE]
        type: struct ct_data_s
      - name: dyn_dtree[2*D_CODES+1]
        type: struct ct_data_s
      - name: bl_tree[2*BL_CODES+1]
        type: struct ct_data_s
      - name: l_desc
        type: struct tree_desc_s
      - name: d_desc
        type: struct tree_desc_s
      - name: bl_desc
        type: struct tree_desc_s
      - name: bl_count[MAX_BITS+1]
        type: ush
      - name: heap[2*L_CODES+1]
        type: int
      - name: heap_len
        type: int
      - name: heap_max
        type: int
      - name: depth[2*L_CODES+1]
        type: uch
      - name: lit_bufsize
        type: uInt
      - name: sym_next
        type: uInt
      - name: sym_end
        type: uInt
      - name: opt_len
        type: ulg
      - name: static_len
        type: ulg
      - name: matches
        type: uInt
      - name: insert
        type: uInt
      - name: bi_buf
        type: ush
      - name: bi_valid
        type: int
      - name: bi_used
        type: int
      - name: high_water
        type: ulg
      item_type: struct
      name: internal_state
      pos:
        line_end: 284
        line_start: 103
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
    typedefs:
    - item_type: typedef
      name: static_tree_desc
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type: static_tree_desc_s
    - item_type: typedef
      name: Pos
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type: ush
    - item_type: typedef
      name: Posf
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type: Pos
    - item_type: typedef
      name: IPos
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/vinyl-cache/lib/libvgz/deflate.h
      type: unsigned
    union: []
- function_names:
  - zlibVersion
  - zlibCompileFlags
  - ZLIB_INTERNAL
  - zError
  - ZLIB_INTERNAL::zmemcpy
  - ZLIB_INTERNAL::zmemcmp
  - ZLIB_INTERNAL::zmemzero
  - ZLIB_INTERNAL
  - ZLIB_INTERNAL
  - ZLIB_INTERNAL
  - ZLIB_INTERNAL
  - ZLIB_INTERNAL::zcalloc
  - ZLIB_INTERNAL::zcfree
  source_file: /src/vinyl-cache/lib/libvgz/zutil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: verbose
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/vinyl-cache/lib/libvgz/zutil.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MAX_PTR
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/vinyl-cache/lib/libvgz/zutil.c
      type_or_value: '10'
    - item_type: preproc_def
      name: _halloc
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/vinyl-cache/lib/libvgz/zutil.c
      type_or_value: halloc
    - item_type: preproc_def
      name: _hfree
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/vinyl-cache/lib/libvgz/zutil.c
      type_or_value: hfree
    structs:
    - fields:
      - name: org_ptr
        type: voidpf
      - name: new_ptr
        type: voidpf
      item_type: struct
      name: ptr_table_s
      pos:
        line_end: 194
        line_start: 191
        source_file: /src/vinyl-cache/lib/libvgz/zutil.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvgz/inflate.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: strm
        type: z_streamp
      - name: mode
        type: inflate_mode
      - name: last
        type: int
      - name: wrap
        type: int
      - name: havedict
        type: int
      - name: flags
        type: int
      - name: dmax
        type: unsigned
      - name: check
        type: unsigned long
      - name: total
        type: unsigned long
      - name: head
        type: gz_headerp
      - name: wbits
        type: unsigned
      - name: wsize
        type: unsigned
      - name: whave
        type: unsigned
      - name: wnext
        type: unsigned
      - name: '*window'
        type: unsigned char
      - name: hold
        type: unsigned long
      - name: bits
        type: unsigned
      - name: length
        type: unsigned
      - name: offset
        type: unsigned
      - name: extra
        type: unsigned
      - name: '*lencode'
        type: code
      - name: '*distcode'
        type: code
      - name: lenbits
        type: unsigned
      - name: distbits
        type: unsigned
      - name: ncode
        type: unsigned
      - name: nlen
        type: unsigned
      - name: ndist
        type: unsigned
      - name: have
        type: unsigned
      - name: '*next'
        type: code
      - name: lens[320]
        type: unsigned short
      - name: work[288]
        type: unsigned short
      - name: codes[ENOUGH]
        type: code
      - name: sane
        type: int
      - name: back
        type: int
      - name: was
        type: unsigned
      item_type: struct
      name: inflate_state
      pos:
        line_end: 125
        line_start: 81
        source_file: /src/vinyl-cache/lib/libvgz/inflate.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvgz/inftrees.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENOUGH_LENS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvgz/inftrees.h
      type_or_value: '852'
    - item_type: preproc_def
      name: ENOUGH_DISTS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvgz/inftrees.h
      type_or_value: '592'
    - item_type: preproc_def
      name: ENOUGH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvgz/inftrees.h
      type_or_value: (ENOUGH_LENS+ENOUGH_DISTS)
    structs:
    - fields:
      - name: op
        type: unsigned char
      - name: bits
        type: unsigned char
      - name: val
        type: unsigned short
      item_type: struct
      name: code
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/vinyl-cache/lib/libvgz/inftrees.h
    typedefs: []
    union: []
- function_names:
  - put_short
  - bi_reverse
  - bi_flush
  - bi_windup
  - gen_codes
  - send_code
  - send_code
  - send_bits
  - send_bits
  - tr_static_init
  - SEPARATOR
  - gen_trees_header
  - init_block
  - ZLIB_INTERNAL::_tr_init
  - pqremove
  - smaller
  - pqdownheap
  - gen_bitlen
  - build_tree
  - scan_tree
  - send_tree
  - build_bl_tree
  - send_all_trees
  - ZLIB_INTERNAL::_tr_stored_block
  - ZLIB_INTERNAL::_tr_flush_bits
  - ZLIB_INTERNAL::_tr_align
  - compress_block
  - detect_data_type
  - ZLIB_INTERNAL::_tr_tally
  source_file: /src/vinyl-cache/lib/libvgz/trees.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_BL_BITS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: '7'
    - item_type: preproc_def
      name: END_BLOCK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: '256'
    - item_type: preproc_def
      name: REP_3_6
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: '16'
    - item_type: preproc_def
      name: REPZ_3_10
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: '17'
    - item_type: preproc_def
      name: REPZ_11_138
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: '18'
    - item_type: preproc_def
      name: DIST_CODE_LEN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: '512 '
    - item_type: preproc_def
      name: TCONST
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: const
    - item_type: preproc_def
      name: SMALLEST
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*static_tree'
        type: ct_data
      - name: '*extra_bits'
        type: intf
      - name: extra_base
        type: int
      - name: elems
        type: int
      - name: max_length
        type: int
      item_type: struct
      name: static_tree_desc_s
      pos:
        line_end: 122
        line_start: 116
        source_file: /src/vinyl-cache/lib/libvgz/trees.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvgz/trees.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - OF
  - OF
  source_file: /src/vinyl-cache/lib/libvgz/zconf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _dist_code
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__dist_code
    - item_type: preproc_def
      name: _length_code
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__length_code
    - item_type: preproc_def
      name: _tr_align
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__tr_align
    - item_type: preproc_def
      name: _tr_flush_bits
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__tr_flush_bits
    - item_type: preproc_def
      name: _tr_flush_block
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__tr_flush_block
    - item_type: preproc_def
      name: _tr_init
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__tr_init
    - item_type: preproc_def
      name: _tr_stored_block
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__tr_stored_block
    - item_type: preproc_def
      name: _tr_tally
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z__tr_tally
    - item_type: preproc_def
      name: adler32
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_adler32
    - item_type: preproc_def
      name: adler32_combine
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_adler32_combine
    - item_type: preproc_def
      name: adler32_combine64
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_adler32_combine64
    - item_type: preproc_def
      name: adler32_z
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_adler32_z
    - item_type: preproc_def
      name: compress
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_compress
    - item_type: preproc_def
      name: compress2
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_compress2
    - item_type: preproc_def
      name: compressBound
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_compressBound
    - item_type: preproc_def
      name: crc32
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_crc32
    - item_type: preproc_def
      name: crc32_combine
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_crc32_combine
    - item_type: preproc_def
      name: crc32_combine64
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_crc32_combine64
    - item_type: preproc_def
      name: crc32_combine_gen
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_crc32_combine_gen
    - item_type: preproc_def
      name: crc32_combine_gen64
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_crc32_combine_gen64
    - item_type: preproc_def
      name: crc32_combine_op
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_crc32_combine_op
    - item_type: preproc_def
      name: crc32_z
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_crc32_z
    - item_type: preproc_def
      name: deflate
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflate
    - item_type: preproc_def
      name: deflateBound
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateBound
    - item_type: preproc_def
      name: deflateCopy
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateCopy
    - item_type: preproc_def
      name: deflateEnd
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateEnd
    - item_type: preproc_def
      name: deflateGetDictionary
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateGetDictionary
    - item_type: preproc_def
      name: deflateInit
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateInit
    - item_type: preproc_def
      name: deflateInit2
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateInit2
    - item_type: preproc_def
      name: deflateInit2_
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateInit2_
    - item_type: preproc_def
      name: deflateInit_
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateInit_
    - item_type: preproc_def
      name: deflateParams
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateParams
    - item_type: preproc_def
      name: deflatePending
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflatePending
    - item_type: preproc_def
      name: deflatePrime
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflatePrime
    - item_type: preproc_def
      name: deflateReset
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateReset
    - item_type: preproc_def
      name: deflateResetKeep
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateResetKeep
    - item_type: preproc_def
      name: deflateSetDictionary
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateSetDictionary
    - item_type: preproc_def
      name: deflateSetHeader
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateSetHeader
    - item_type: preproc_def
      name: deflateTune
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateTune
    - item_type: preproc_def
      name: deflateUsed
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflateUsed
    - item_type: preproc_def
      name: deflate_copyright
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_deflate_copyright
    - item_type: preproc_def
      name: get_crc_table
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_get_crc_table
    - item_type: preproc_def
      name: gz_error
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gz_error
    - item_type: preproc_def
      name: gz_intmax
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gz_intmax
    - item_type: preproc_def
      name: gz_strwinerror
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gz_strwinerror
    - item_type: preproc_def
      name: gzbuffer
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzbuffer
    - item_type: preproc_def
      name: gzclearerr
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzclearerr
    - item_type: preproc_def
      name: gzclose
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzclose
    - item_type: preproc_def
      name: gzclose_r
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzclose_r
    - item_type: preproc_def
      name: gzclose_w
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzclose_w
    - item_type: preproc_def
      name: gzdirect
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzdirect
    - item_type: preproc_def
      name: gzdopen
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzdopen
    - item_type: preproc_def
      name: gzeof
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzeof
    - item_type: preproc_def
      name: gzerror
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzerror
    - item_type: preproc_def
      name: gzflush
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzflush
    - item_type: preproc_def
      name: gzfread
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzfread
    - item_type: preproc_def
      name: gzfwrite
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzfwrite
    - item_type: preproc_def
      name: gzgetc
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzgetc
    - item_type: preproc_def
      name: gzgetc_
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzgetc_
    - item_type: preproc_def
      name: gzgets
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzgets
    - item_type: preproc_def
      name: gzoffset
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzoffset
    - item_type: preproc_def
      name: gzoffset64
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzoffset64
    - item_type: preproc_def
      name: gzopen
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzopen
    - item_type: preproc_def
      name: gzopen64
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzopen64
    - item_type: preproc_def
      name: gzopen_w
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzopen_w
    - item_type: preproc_def
      name: gzprintf
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzprintf
    - item_type: preproc_def
      name: gzputc
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzputc
    - item_type: preproc_def
      name: gzputs
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzputs
    - item_type: preproc_def
      name: gzread
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzread
    - item_type: preproc_def
      name: gzrewind
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzrewind
    - item_type: preproc_def
      name: gzseek
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzseek
    - item_type: preproc_def
      name: gzseek64
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzseek64
    - item_type: preproc_def
      name: gzsetparams
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzsetparams
    - item_type: preproc_def
      name: gztell
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gztell
    - item_type: preproc_def
      name: gztell64
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gztell64
    - item_type: preproc_def
      name: gzungetc
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzungetc
    - item_type: preproc_def
      name: gzvprintf
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzvprintf
    - item_type: preproc_def
      name: gzwrite
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzwrite
    - item_type: preproc_def
      name: inflate
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflate
    - item_type: preproc_def
      name: inflateBack
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateBack
    - item_type: preproc_def
      name: inflateBackEnd
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateBackEnd
    - item_type: preproc_def
      name: inflateBackInit
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateBackInit
    - item_type: preproc_def
      name: inflateBackInit_
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateBackInit_
    - item_type: preproc_def
      name: inflateCodesUsed
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateCodesUsed
    - item_type: preproc_def
      name: inflateCopy
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateCopy
    - item_type: preproc_def
      name: inflateEnd
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateEnd
    - item_type: preproc_def
      name: inflateGetDictionary
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateGetDictionary
    - item_type: preproc_def
      name: inflateGetHeader
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateGetHeader
    - item_type: preproc_def
      name: inflateInit
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateInit
    - item_type: preproc_def
      name: inflateInit2
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateInit2
    - item_type: preproc_def
      name: inflateInit2_
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateInit2_
    - item_type: preproc_def
      name: inflateInit_
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateInit_
    - item_type: preproc_def
      name: inflateMark
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateMark
    - item_type: preproc_def
      name: inflatePrime
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflatePrime
    - item_type: preproc_def
      name: inflateReset
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateReset
    - item_type: preproc_def
      name: inflateReset2
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateReset2
    - item_type: preproc_def
      name: inflateResetKeep
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateResetKeep
    - item_type: preproc_def
      name: inflateSetDictionary
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateSetDictionary
    - item_type: preproc_def
      name: inflateSync
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateSync
    - item_type: preproc_def
      name: inflateSyncPoint
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateSyncPoint
    - item_type: preproc_def
      name: inflateUndermine
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateUndermine
    - item_type: preproc_def
      name: inflateValidate
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflateValidate
    - item_type: preproc_def
      name: inflate_copyright
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflate_copyright
    - item_type: preproc_def
      name: inflate_fast
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflate_fast
    - item_type: preproc_def
      name: inflate_table
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_inflate_table
    - item_type: preproc_def
      name: uncompress
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_uncompress
    - item_type: preproc_def
      name: uncompress2
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_uncompress2
    - item_type: preproc_def
      name: zError
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_zError
    - item_type: preproc_def
      name: zcalloc
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_zcalloc
    - item_type: preproc_def
      name: zcfree
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_zcfree
    - item_type: preproc_def
      name: zlibCompileFlags
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_zlibCompileFlags
    - item_type: preproc_def
      name: zlibVersion
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_zlibVersion
    - item_type: preproc_def
      name: Byte
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_Byte
    - item_type: preproc_def
      name: Bytef
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_Bytef
    - item_type: preproc_def
      name: alloc_func
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_alloc_func
    - item_type: preproc_def
      name: charf
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_charf
    - item_type: preproc_def
      name: free_func
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_free_func
    - item_type: preproc_def
      name: gzFile
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gzFile
    - item_type: preproc_def
      name: gz_header
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gz_header
    - item_type: preproc_def
      name: gz_headerp
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gz_headerp
    - item_type: preproc_def
      name: in_func
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_in_func
    - item_type: preproc_def
      name: intf
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_intf
    - item_type: preproc_def
      name: out_func
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_out_func
    - item_type: preproc_def
      name: uInt
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_uInt
    - item_type: preproc_def
      name: uIntf
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_uIntf
    - item_type: preproc_def
      name: uLong
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_uLong
    - item_type: preproc_def
      name: uLongf
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_uLongf
    - item_type: preproc_def
      name: voidp
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_voidp
    - item_type: preproc_def
      name: voidpc
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_voidpc
    - item_type: preproc_def
      name: voidpf
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_voidpf
    - item_type: preproc_def
      name: gz_header_s
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_gz_header_s
    - item_type: preproc_def
      name: internal_state
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_internal_state
    - item_type: preproc_def
      name: z_const
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: const
    - item_type: preproc_def
      name: z_longlong
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: long long
    - item_type: preproc_def
      name: MAX_MEM_LEVEL
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: '8'
    - item_type: preproc_def
      name: MAX_MEM_LEVEL
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: '9'
    - item_type: preproc_def
      name: MAX_WBITS
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: '15 '
    - item_type: preproc_def
      name: FAR
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: _far
    - item_type: preproc_def
      name: FAR
      pos:
        line_end: 319
        line_start: 318
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: far
    - item_type: preproc_def
      name: FAR
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: _far
    - item_type: preproc_def
      name: FAR
      pos:
        line_end: 328
        line_start: 327
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: far
    - item_type: preproc_def
      name: ZEXTERN
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: extern __declspec(dllexport)
    - item_type: preproc_def
      name: ZEXTERN
      pos:
        line_end: 342
        line_start: 341
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: extern __declspec(dllimport)
    - item_type: preproc_def
      name: ZEXPORT
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: WINAPI
    - item_type: preproc_def
      name: ZEXPORTVA
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: WINAPIV
    - item_type: preproc_def
      name: ZEXPORTVA
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: FAR CDECL
    - item_type: preproc_def
      name: ZEXPORT
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: ZEXPORTVA
      pos:
        line_end: 373
        line_start: 372
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: ZEXPORT
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: ZEXPORTVA
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: ZEXTERN
      pos:
        line_end: 382
        line_start: 381
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: extern
    - item_type: preproc_def
      name: Bytef
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: Byte FAR
    - item_type: preproc_def
      name: Z_U4
      pos:
        line_end: 425
        line_start: 424
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: Z_U4
      pos:
        line_end: 427
        line_start: 426
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: unsigned long
    - item_type: preproc_def
      name: Z_U4
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: z_off_t
      pos:
        line_end: 488
        line_start: 487
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: off_t
    - item_type: preproc_def
      name: SEEK_SET
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: '0       '
    - item_type: preproc_def
      name: SEEK_CUR
      pos:
        line_end: 507
        line_start: 506
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: '1       '
    - item_type: preproc_def
      name: SEEK_END
      pos:
        line_end: 508
        line_start: 507
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: '2       '
    - item_type: preproc_def
      name: z_off_t
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: long long
    - item_type: preproc_def
      name: z_off64_t
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: off64_t
    - item_type: preproc_def
      name: z_off64_t
      pos:
        line_end: 518
        line_start: 517
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: long long
    - item_type: preproc_def
      name: z_off64_t
      pos:
        line_end: 520
        line_start: 519
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: __int64
    - item_type: preproc_def
      name: z_off64_t
      pos:
        line_end: 522
        line_start: 521
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: offset_t
    - item_type: preproc_def
      name: z_off64_t
      pos:
        line_end: 524
        line_start: 523
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type_or_value: z_off_t
    structs: []
    typedefs:
    - item_type: typedef
      name: z_size_t
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned long long
    - item_type: typedef
      name: z_size_t
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned long
    - item_type: typedef
      name: z_size_t
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned NO_SIZE_T
    - item_type: typedef
      name: z_size_t
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: size_t
    - item_type: typedef
      name: z_size_t
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned long
    - item_type: typedef
      name: Byte
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned char
    - item_type: typedef
      name: uInt
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned int
    - item_type: typedef
      name: uLong
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned long
    - item_type: typedef
      name: Bytef
      pos:
        line_end: 404
        line_start: 404
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: Byte
    - item_type: typedef
      name: charf
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: char
    - item_type: typedef
      name: intf
      pos:
        line_end: 407
        line_start: 407
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: int
    - item_type: typedef
      name: uIntf
      pos:
        line_end: 408
        line_start: 408
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: uInt
    - item_type: typedef
      name: uLongf
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: uLong
    - item_type: typedef
      name: '*voidpc'
      pos:
        line_end: 412
        line_start: 412
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: void
    - item_type: typedef
      name: '*voidpf'
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: void
    - item_type: typedef
      name: '*voidp'
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: void
    - item_type: typedef
      name: '*voidpc'
      pos:
        line_end: 416
        line_start: 416
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: Byte
    - item_type: typedef
      name: '*voidpf'
      pos:
        line_end: 417
        line_start: 417
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: Byte
    - item_type: typedef
      name: '*voidp'
      pos:
        line_end: 418
        line_start: 418
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: Byte
    - item_type: typedef
      name: z_crc_t
      pos:
        line_end: 433
        line_start: 433
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: Z_U4
    - item_type: typedef
      name: z_crc_t
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/vinyl-cache/lib/libvgz/zconf.h
      type: unsigned long
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvgz/crc32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ERR_MSG
  - ERR_RETURN
  - F_OPEN
  - F_OPEN
  - zmemzero
  - zmemzero
  - Assert
  - Trace
  - Tracev
  - Tracevv
  - Tracec
  - Tracecv
  - ZALLOC
  - ZFREE
  - TRY_FREE
  - ZSWAP32
  source_file: /src/vinyl-cache/lib/libvgz/zutil.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZLIB_INTERNAL
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: __attribute__((visibility ("hidden")))
    - item_type: preproc_def
      name: local
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: static
    - item_type: preproc_def
      name: Z_U8
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: unsigned long
    - item_type: preproc_def
      name: Z_U8
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: unsigned long long
    - item_type: preproc_def
      name: Z_U8
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: unsigned long long
    - item_type: preproc_def
      name: Z_U8
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: unsigned
    - item_type: preproc_def
      name: DEF_WBITS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: MAX_WBITS
    - item_type: preproc_def
      name: DEF_MEM_LEVEL
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DEF_MEM_LEVEL
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: MAX_MEM_LEVEL
    - item_type: preproc_def
      name: STORED_BLOCK
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '0'
    - item_type: preproc_def
      name: STATIC_TREES
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DYN_TREES
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '2'
    - item_type: preproc_def
      name: MIN_MATCH
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '3'
    - item_type: preproc_def
      name: MAX_MATCH
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '258'
    - item_type: preproc_def
      name: PRESET_DICT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '1'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '2'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '4'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '11'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '8'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '5'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '6'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '7'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '13'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '10'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '16'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '18'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '19'
    - item_type: preproc_def
      name: OS_CODE
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: '3     '
    - item_type: preproc_def
      name: zmemcpy
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: _fmemcpy
    - item_type: preproc_def
      name: zmemcmp
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: _fmemcmp
    - item_type: preproc_def
      name: zmemcpy
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: memcpy
    - item_type: preproc_def
      name: zmemcmp
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type_or_value: memcmp
    structs: []
    typedefs:
    - item_type: typedef
      name: uch
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type: unsigned char
    - item_type: typedef
      name: uchf
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type: uch
    - item_type: typedef
      name: ush
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type: unsigned short
    - item_type: typedef
      name: ushf
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type: ush
    - item_type: typedef
      name: ulg
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/vinyl-cache/lib/libvgz/zutil.h
      type: unsigned long
    union: []
- function_names:
  - ZLIB_INTERNAL::inflate_fast
  source_file: /src/vinyl-cache/lib/libvgz/inffast.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - byte_swap
  - multmodp
  - x2nmodp
  - once
  - test_and_set
  - once
  - make_crc_table
  - write_table
  - write_table32hi
  - write_table64
  - main
  - braid
  - get_crc_table
  - crc32_z
  - crc_word
  - crc_word_big
  - crc32_z
  - crc32
  - crc32_combine64
  - crc32_combine
  - crc32_combine_gen64
  - crc32_combine_gen
  - crc32_combine_op
  source_file: /src/vinyl-cache/lib/libvgz/crc32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: Z_TESTN
    - item_type: preproc_def
      name: N
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '5'
    - item_type: preproc_def
      name: W
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: Z_TESTW
    - item_type: preproc_def
      name: W
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '8         '
    - item_type: preproc_def
      name: W
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '8'
    - item_type: preproc_def
      name: W
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '4'
    - item_type: preproc_def
      name: W
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '4'
    - item_type: preproc_def
      name: POLY
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '0xedb88320         '
    - item_type: preproc_def
      name: ONCE_INIT
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '{ATOMIC_FLAG_INIT, 0}'
    - item_type: preproc_def
      name: ONCE_INIT
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '{0, 0}'
    - item_type: preproc_def
      name: Z_BATCH
      pos:
        line_end: 571
        line_start: 570
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '3990                '
    - item_type: preproc_def
      name: Z_BATCH_ZEROS
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '0xa10d3d0c    '
    - item_type: preproc_def
      name: Z_BATCH_MIN
      pos:
        line_end: 573
        line_start: 572
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type_or_value: '800             '
    structs:
    - fields:
      - name: begun
        type: atomic_flag
      - name: done
        type: atomic_int
      item_type: struct
      name: once_s
      pos:
        line_end: 227
        line_start: 224
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
    - fields:
      - name: begun
        type: int
      - name: done
        type: int
      item_type: struct
      name: once_s
      pos:
        line_end: 253
        line_start: 250
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
    typedefs:
    - item_type: typedef
      name: z_word_t
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type: Z_U8
    - item_type: typedef
      name: z_word_t
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type: Z_U4
    - item_type: typedef
      name: once_t
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/vinyl-cache/lib/libvgz/crc32.c
      type: once_s
    union: []
- function_names: []
  source_file: /src/vinyl-cache/lib/libvgz/inffast.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - zstrerror
  - zstrerror
  - zstrerror
  - GT_OFF
  source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LARGEFILE_SOURCE
      pos:
        line_end: 8
        line_start: 7
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ZLIB_INTERNAL
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: __attribute__((visibility ("hidden")))
    - item_type: preproc_def
      name: _POSIX_C_SOURCE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: 200112L
    - item_type: preproc_def
      name: vsnprintf
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: _vsnprintf
    - item_type: preproc_def
      name: snprintf
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: _snprintf
    - item_type: preproc_def
      name: local
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: static
    - item_type: preproc_def
      name: DEF_MEM_LEVEL
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DEF_MEM_LEVEL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: MAX_MEM_LEVEL
    - item_type: preproc_def
      name: GZBUFSIZE
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '8192'
    - item_type: preproc_def
      name: GZ_NONE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '0'
    - item_type: preproc_def
      name: GZ_READ
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '7247'
    - item_type: preproc_def
      name: GZ_WRITE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '31153'
    - item_type: preproc_def
      name: GZ_APPEND
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '1     '
    - item_type: preproc_def
      name: LOOK
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '0      '
    - item_type: preproc_def
      name: COPY
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '1      '
    - item_type: preproc_def
      name: GZIP
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type_or_value: '2      '
    structs:
    - fields:
      - name: x
        type: struct gzFile_s
      - name: mode
        type: int
      - name: fd
        type: int
      - name: '*path'
        type: char
      - name: size
        type: unsigned
      - name: want
        type: unsigned
      - name: '*in'
        type: unsigned char
      - name: '*out'
        type: unsigned char
      - name: direct
        type: int
      - name: how
        type: int
      - name: start
        type: z_off64_t
      - name: eof
        type: int
      - name: past
        type: int
      - name: level
        type: int
      - name: strategy
        type: int
      - name: reset
        type: int
      - name: skip
        type: z_off64_t
      - name: seek
        type: int
      - name: err
        type: int
      - name: '*msg'
        type: char
      - name: strm
        type: z_stream
      item_type: struct
      name: gz_state
      pos:
        line_end: 201
        line_start: 169
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
    typedefs:
    - item_type: typedef
      name: '*gz_statep'
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/vinyl-cache/lib/libvgz/gzguts.h
      type: gz_state
    union: []
- function_names:
  - z_deflateInit
  - z_inflateInit
  - z_deflateInit2
  - z_inflateInit2
  - z_inflateBackInit
  - deflateInit
  - inflateInit
  - deflateInit2
  - inflateInit2
  - inflateBackInit
  - z_gzgetc
  - gzgetc
  source_file: /src/vinyl-cache/lib/libvgz/vgz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZLIB_VERSION
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '"1.3.1.1-motley"'
    - item_type: preproc_def
      name: ZLIB_VERNUM
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '0x1311'
    - item_type: preproc_def
      name: ZLIB_VER_MAJOR
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ZLIB_VER_MINOR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ZLIB_VER_REVISION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ZLIB_VER_SUBREVISION
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: VGZ_EXTENSIONS
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_NO_FLUSH
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_PARTIAL_FLUSH
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_SYNC_FLUSH
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_FULL_FLUSH
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '3'
    - item_type: preproc_def
      name: Z_FINISH
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '4'
    - item_type: preproc_def
      name: Z_BLOCK
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '5'
    - item_type: preproc_def
      name: Z_TREES
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '6'
    - item_type: preproc_def
      name: Z_OK
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_STREAM_END
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_NEED_DICT
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_ERRNO
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: Z_STREAM_ERROR
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: Z_DATA_ERROR
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: Z_MEM_ERROR
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: Z_BUF_ERROR
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: Z_VERSION_ERROR
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: (-6)
    - item_type: preproc_def
      name: Z_NO_COMPRESSION
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_BEST_SPEED
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_BEST_COMPRESSION
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '9'
    - item_type: preproc_def
      name: Z_DEFAULT_COMPRESSION
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: Z_FILTERED
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_HUFFMAN_ONLY
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_RLE
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '3'
    - item_type: preproc_def
      name: Z_FIXED
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '4'
    - item_type: preproc_def
      name: Z_DEFAULT_STRATEGY
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_BINARY
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '0'
    - item_type: preproc_def
      name: Z_TEXT
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '1'
    - item_type: preproc_def
      name: Z_ASCII
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: 'Z_TEXT   '
    - item_type: preproc_def
      name: Z_UNKNOWN
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '2'
    - item_type: preproc_def
      name: Z_DEFLATED
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '8'
    - item_type: preproc_def
      name: Z_NULL
      pos:
        line_end: 217
        line_start: 216
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: '0  '
    - item_type: preproc_def
      name: zlib_version
      pos:
        line_end: 219
        line_start: 218
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: zlibVersion()
    - item_type: preproc_def
      name: z_gzopen
      pos:
        line_end: 1890
        line_start: 1889
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: z_gzopen64
    - item_type: preproc_def
      name: z_gzseek
      pos:
        line_end: 1891
        line_start: 1890
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: z_gzseek64
    - item_type: preproc_def
      name: z_gztell
      pos:
        line_end: 1892
        line_start: 1891
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: z_gztell64
    - item_type: preproc_def
      name: z_gzoffset
      pos:
        line_end: 1893
        line_start: 1892
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: z_gzoffset64
    - item_type: preproc_def
      name: z_adler32_combine
      pos:
        line_end: 1894
        line_start: 1893
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: z_adler32_combine64
    - item_type: preproc_def
      name: z_crc32_combine
      pos:
        line_end: 1895
        line_start: 1894
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: z_crc32_combine64
    - item_type: preproc_def
      name: z_crc32_combine_gen
      pos:
        line_end: 1896
        line_start: 1895
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: z_crc32_combine_gen64
    - item_type: preproc_def
      name: gzopen
      pos:
        line_end: 1898
        line_start: 1897
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: gzopen64
    - item_type: preproc_def
      name: gzseek
      pos:
        line_end: 1899
        line_start: 1898
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: gzseek64
    - item_type: preproc_def
      name: gztell
      pos:
        line_end: 1900
        line_start: 1899
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: gztell64
    - item_type: preproc_def
      name: gzoffset
      pos:
        line_end: 1901
        line_start: 1900
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: gzoffset64
    - item_type: preproc_def
      name: adler32_combine
      pos:
        line_end: 1902
        line_start: 1901
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: adler32_combine64
    - item_type: preproc_def
      name: crc32_combine
      pos:
        line_end: 1903
        line_start: 1902
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: crc32_combine64
    - item_type: preproc_def
      name: crc32_combine_gen
      pos:
        line_end: 1904
        line_start: 1903
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type_or_value: crc32_combine_gen64
    structs:
    - fields:
      - name: '*next_in'
        type: z_const
      - name: avail_in
        type: uInt
      - name: total_in
        type: uLong
      - name: '*next_out'
        type: Bytef
      - name: avail_out
        type: uInt
      - name: total_out
        type: uLong
      - name: '*msg'
        type: z_const
      - name: '*state'
        type: struct internal_state
      - name: zalloc
        type: alloc_func
      - name: zfree
        type: free_func
      - name: opaque
        type: voidpf
      - name: data_type
        type: int
      - name: adler
        type: uLong
      - name: reserved
        type: uLong
      - name: start_bit
        type: uLong
      - name: stop_bit
        type: uLong
      - name: last_bit
        type: uLong
      item_type: struct
      name: z_stream_s
      pos:
        line_end: 110
        line_start: 85
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
    - fields:
      - name: text
        type: int
      - name: time
        type: uLong
      - name: xflags
        type: int
      - name: os
        type: int
      - name: '*extra'
        type: Bytef
      - name: extra_len
        type: uInt
      - name: extra_max
        type: uInt
      - name: '*name'
        type: Bytef
      - name: name_max
        type: uInt
      - name: '*comment'
        type: Bytef
      - name: comm_max
        type: uInt
      - name: hcrc
        type: int
      - name: done
        type: int
      item_type: struct
      name: gz_header_s
      pos:
        line_end: 133
        line_start: 118
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
    - fields:
      - name: have
        type: unsigned
      - name: '*next'
        type: unsigned char
      - name: pos
        type: z_off64_t
      item_type: struct
      name: gzFile_s
      pos:
        line_end: 1860
        line_start: 1856
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
    typedefs:
    - item_type: typedef
      name: (*alloc_func) (voidpf opaque, uInt items, uInt size)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type: voidpf
    - item_type: typedef
      name: (*free_func)  (voidpf opaque, voidpf address)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type: void
    - item_type: typedef
      name: '*z_streamp'
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type: z_stream
    - item_type: typedef
      name: '*gz_headerp'
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type: gz_header
    - item_type: typedef
      name: "(*in_func) (void FAR *,\n                                z_const unsigned
        char FAR * FAR *)"
      pos:
        line_end: 1117
        line_start: 1116
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type: unsigned
    - item_type: typedef
      name: (*out_func) (void FAR *, unsigned char FAR *, unsigned)
      pos:
        line_end: 1118
        line_start: 1118
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type: int
    - item_type: typedef
      name: '*gzFile'
      pos:
        line_end: 1324
        line_start: 1324
        source_file: /src/vinyl-cache/lib/libvgz/vgz.h
      type: gzFile_s
    union: []
- function_names:
  - inflateStateCheck
  - inflateResetKeep
  - inflateReset
  - inflateReset2
  - inflateInit2_
  - inflateInit_
  - inflatePrime
  - fixedtables
  - makefixed
  - updatewindow
  - UPDATE_CHECK
  - UPDATE_CHECK
  - CRC2
  - CRC4
  - LOAD
  - RESTORE
  - INITBITS
  - PULLBYTE
  - NEEDBITS
  - BITS
  - DROPBITS
  - BYTEBITS
  - inflate
  - inflateEnd
  - inflateGetDictionary
  - inflateSetDictionary
  - inflateGetHeader
  - syncsearch
  - inflateSync
  - inflateSyncPoint
  - inflateCopy
  - inflateUndermine
  - inflateValidate
  - inflateMark
  - inflateCodesUsed
  source_file: /src/vinyl-cache/lib/libvgz/inflate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DO1
  - DO2
  - DO4
  - DO8
  - DO16
  - CHOP
  - MOD28
  - MOD
  - MOD
  - MOD28
  - MOD63
  - adler32_z
  - adler32
  - adler32_combine_
  - adler32_combine
  - adler32_combine64
  - adler32
  source_file: /src/vinyl-cache/lib/libvgz/adler32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BASE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/vinyl-cache/lib/libvgz/adler32.c
      type_or_value: '65521U     '
    - item_type: preproc_def
      name: NMAX
      pos:
        line_end: 14
        line_start: 13
        source_file: /src/vinyl-cache/lib/libvgz/adler32.c
      type_or_value: '5552'
    - item_type: preproc_def
      name: z_off64_t
      pos:
        line_end: 56
        line_start: 43
        source_file: /src/vinyl-cache/lib/libvgz/adler32.c
      type_or_value: "tmp = a >> 32; \\\n        a &= 0xffffffffL; \\\n        a +=
        (tmp << 8) - (tmp << 5) + tmp; \\\n        tmp = a >> 16; \\\n        a &=
        0xffffL; \\\n        a += (tmp << 4) - tmp; \\\n        tmp = a >> 16; \\\n
        \       a &= 0xffffL; \\\n        a += (tmp << 4) - tmp; \\\n        if (a
        >= BASE) a -= BASE; \\\n    } while (0)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - ZLIB_INTERNAL::inflate_table
  source_file: /src/vinyl-cache/lib/libvgz/inftrees.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXBITS
      pos:
        line_end: 9
        line_start: 8
        source_file: /src/vinyl-cache/lib/libvgz/inftrees.c
      type_or_value: '15'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VFIL_null_fd
  - vfil_readfd
  - vfil_writefd
  - vfil_openfile
  - VFIL_readfile
  - VFIL_writefile
  - VFIL_nonblocking
  - VFIL_fsinfo
  - VFIL_allocate
  - VFIL_setpath
  - vfil_path_openfile
  - VFIL_searchpath
  source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VFIL_DIR_MAGIC
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
      type_or_value: '0x3e214967'
    - item_type: preproc_def
      name: VFIL_PATH_MAGIC
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
      type_or_value: '0x92dbcc31'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*dir'
        type: char
      - name: (vfil_dir)
        type: VTAILQ_ENTRY
      item_type: struct
      name: vfil_dir
      pos:
        line_end: 281
        line_start: 276
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*str'
        type: char
      - name: (,vfil_dir)
        type: VTAILQ_HEAD
      item_type: struct
      name: vfil_path
      pos:
        line_end: 288
        line_start: 283
        source_file: /src/vinyl-cache/lib/libvinyl/vfil.c
    typedefs: []
    union: []
- function_names:
  - vsa_normalize
  - VSA_Init
  - VSA_GetPtr
  - sua_len
  - VSA_Malloc
  - VSA_BuildFAP
  - VSA_Build
  - VSA_Get_Sockaddr
  - VSA_Get_Proto
  - VSA_Sane
  - VSA_Compare
  - VSA_Compare_IP
  - VSA_Clone
  - VSA_Port
  - VSA_getname
  - VSA_free
  source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUCKADDR_MAGIC
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
      type_or_value: '0x4b1e9335'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: u
        type: "union {\n\t\tstruct sockaddr\t\tsa;\n\t\tstruct sockaddr_in\tsa4;\n\t\tstruct
          sockaddr_in6\tsa6;\n\t}"
      item_type: struct
      name: suckaddr
      pos:
        line_end: 179
        line_start: 171
        source_file: /src/vinyl-cache/lib/libvinyl/vsa.c
    typedefs: []
    union: []
- function_names:
  - VCLI_AuthResponse
  - VCLI_WriteResult
  - read_tmo
  - VCLI_ReadResult
  source_file: /src/vinyl-cache/lib/libvinyl/vcli_proto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VENC_Encode_Base64
  - venc_decode_base64
  - VENC_Decode_Base64
  source_file: /src/vinyl-cache/lib/libvinyl/venc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BV
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/vinyl-cache/lib/libvinyl/venc.c
      type_or_value: '64'
    structs:
    - fields:
      - name: n
        type: unsigned
      - name: f
        type: unsigned
      - name: w
        type: uint8_t
      - name: '*vsb'
        type: struct vsb
      - name: '*tbl'
        type: uint8_t
      item_type: struct
      name: venc_state
      pos:
        line_end: 124
        line_start: 118
        source_file: /src/vinyl-cache/lib/libvinyl/venc.c
    typedefs: []
    union: []
- function_names:
  - DBG
  - vev_bh_update
  - vev_bh_cmp
  - vev_get_pfd
  - vev_get_sig
  - vev_sigaction
  - VEV_New
  - VEV_Destroy
  - VEV_Alloc
  - VEV_Start
  - VEV_Stop
  - VEV_Loop
  - vev_sched_timeout
  - vev_sched_signal
  - VEV_Once
  source_file: /src/vinyl-cache/lib/libvinyl/vev.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INFTIM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
      type_or_value: '-1'
    - item_type: preproc_def
      name: VEV_BASE_MAGIC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
      type_or_value: '0x477bcf3d'
    structs:
    - fields:
      - name: '*vevb'
        type: struct vev_root
      - name: '*vev'
        type: struct vev
      - name: sigact
        type: struct sigaction
      - name: happened
        type: unsigned char
      - name: siginfo[1]
        type: siginfo_t
      item_type: struct
      name: vevsig
      pos:
        line_end: 62
        line_start: 56
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    - fields:
      - name: magic
        type: unsigned
      - name: n_fd_events
        type: unsigned
      - name: '*pfd'
        type: struct pollfd
      - name: '**pev'
        type: struct vev
      - name: npfd
        type: unsigned
      - name: lpfd
        type: unsigned
      - name: '*binheap'
        type: struct vbh
      - name: psig
        type: unsigned
      - name: thread
        type: pthread_t
      item_type: struct
      name: vev_root
      pos:
        line_end: 81
        line_start: 67
        source_file: /src/vinyl-cache/lib/libvinyl/vev.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vsb_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: how
        type: int
      - name: inlen
        type: int
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      item_type: struct
      name: tc
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/vinyl-cache/lib/libvinyl/vsb_test.c
    typedefs: []
    union: []
- function_names:
  - mach_time_init
  - init
  - VTIM_mono
  - VTIM_real
  - VTIM_format
  - FAIL
  - FAIL
  - DIGIT
  - MUSTBE
  - WEEKDAY
  - MONTH
  - TIMESTAMP
  - VTIM_parse
  - VTIM_sleep
  - VTIM_timeval
  - VTIM_timespec
  - VTIM_timeval_sock
  - VTIM_poll_tmo
  - tst
  - tst_delta_check
  - tst_delta
  - bench
  - parse_check
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vtim.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TTEST_MIN
      pos:
        line_end: 592
        line_start: 591
        source_file: /src/vinyl-cache/lib/libvinyl/vtim.c
      type_or_value: '(sizeof(time_t) >= 8 ? -2209852800LL : INT32_MIN)'
    - item_type: preproc_def
      name: TTEST_MAX
      pos:
        line_end: 593
        line_start: 592
        source_file: /src/vinyl-cache/lib/libvinyl/vtim.c
      type_or_value: '(sizeof(time_t) >= 8 ? 20000000000LL : INT32_MAX)'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VAS_errtxt
  - vas_default
  - v_noreturn_::VAS_Fail
  source_file: /src/vinyl-cache/lib/libvinyl/vas.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VSUB_closefrom
  - vsub_vlu
  - VSUB_run
  source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*sb'
        type: struct vsb
      - name: lines
        type: int
      - name: maxlines
        type: int
      item_type: struct
      name: vsub_priv
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/vinyl-cache/lib/libvinyl/vsub.c
    typedefs: []
    union: []
- function_names:
  - vss_parse
  - vss_parse_range
  - vss_resolve
  - vss_alloc_suckaddr
  - VSS_resolver_socktype
  - VSS_resolver
  - VSS_resolver_range
  - VSS_ResolveOne
  - VSS_ResolveFirst
  source_file: /src/vinyl-cache/lib/libvinyl/vss.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vpf_verify
  - VPF_Read
  - VPF_Open
  - VPF_Write
  - VPF_Remove
  source_file: /src/vinyl-cache/lib/libvinyl/vpf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pf_fd
        type: int
      - name: '*pf_path'
        type: char
      - name: pf_dev
        type: dev_t
      - name: pf_ino
        type: ino_t
      item_type: struct
      name: vpf_fh
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvinyl/vpf.c
    typedefs: []
    union: []
- function_names:
  - good_rand
  - vrnd_RandomTestable
  - VRND_SeedTestable
  - VRND_RandomTestable
  - VRND_RandomTestableDouble
  - VRND_RandomCrypto
  - VRND_SeedAll
  source_file: /src/vinyl-cache/lib/libvinyl/vrnd.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TYPE_3
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/vinyl-cache/lib/libvinyl/vrnd.c
      type_or_value: "3\t\t"
    - item_type: preproc_def
      name: DEG_3
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/vinyl-cache/lib/libvinyl/vrnd.c
      type_or_value: '31'
    - item_type: preproc_def
      name: SEP_3
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/vinyl-cache/lib/libvinyl/vrnd.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCLS_func_close
  - VCLS_func_ping
  - VCLS_func_ping_json
  - help_helper
  - VCLS_func_help
  - VCLS_func_help_json
  - cls_dispatch
  - cls_exec
  - cls_feed
  - VCLS_New
  - VCLS_SetLimit
  - VCLS_SetHooks
  - VCLS_AddFd
  - cls_close_fd
  - VCLS_AddFunc
  - VCLS_Poll
  - VCLS_Destroy
  - vcli_outv
  - VCLI_Out
  - VCLI_VTE_format
  - VCLI_Overflow
  - VCLI_JSON_str
  - VCLI_JSON_begin
  - VCLI_JSON_end
  - VCLI_Quote
  - VCLI_SetResult
  source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCLS_FD_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
      type_or_value: '0x010dbd1e'
    - item_type: preproc_def
      name: VCLS_MAGIC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
      type_or_value: '0x60f044a3'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: (VCLS_fd)
        type: VTAILQ_ENTRY
      - name: fdi
        type: int
      - name: '*cls'
        type: struct VCLS
      - name: '*cli'
        type: struct cli
      - name: '*closefunc'
        type: cls_cb_f
      - name: '*priv'
        type: void
      - name: '*last_arg'
        type: struct vsb
      - name: '**argv'
        type: char
      - name: argc
        type: int
      - name: '*match'
        type: char
      item_type: struct
      name: VCLS_fd
      pos:
        line_end: 68
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvinyl/vcli_serve.c
    typedefs: []
    union: []
- function_names:
  - vflopenat
  - VFL_Open
  source_file: /src/vinyl-cache/lib/libvinyl/vfl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sun_init
  - VUS_resolver
  - VUS_bind
  - VUS_connect
  - VUS_socklen
  source_file: /src/vinyl-cache/lib/libvinyl/vus.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VIN_n_Arg
  - VIN_DumpDefaults
  source_file: /src/vinyl-cache/lib/libvinyl/vin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VINYL_DEFAULT_REL_NAME
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/lib/libvinyl/vin.c
      type_or_value: '"vinyld"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vmb_init
  - vmb_pthread
  source_file: /src/vinyl-cache/lib/libvinyl/vmb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - be32enc_vect
  - be32dec_vect
  - be32enc_vect
  - be32dec_vect
  - Ch
  - Maj
  - SHR
  - ROTR
  - S0
  - S1
  - s0
  - s1
  - RND
  - RNDr
  - MSCH
  - VSHA256_Transform
  - VSHA256_Pad
  - VSHA256_Init
  - VSHA256_Update
  - VSHA256_Final
  - VSHA256_Test
  source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VBYTE_ORDER
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
      type_or_value: _BYTE_ORDER
    - item_type: preproc_def
      name: VBYTE_ORDER
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
      type_or_value: __BYTE_ORDER
    - item_type: preproc_def
      name: VBIG_ENDIAN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
      type_or_value: _BIG_ENDIAN
    - item_type: preproc_def
      name: VBIG_ENDIAN
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
      type_or_value: __BIG_ENDIAN
    - item_type: preproc_def
      name: VBYTE_ORDER
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
      type_or_value: __DARWIN_BYTE_ORDER
    - item_type: preproc_def
      name: VBIG_ENDIAN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
      type_or_value: __DARWIN_BIG_ENDIAN
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: output[32]
        type: unsigned char
      item_type: struct
      name: sha256test
      pos:
        line_end: 344
        line_start: 341
        source_file: /src/vinyl-cache/lib/libvinyl/vsha256.c
    typedefs: []
    union: []
- function_names:
  - pcre2_set_depth_limit
  - VRE_compile
  - VRE_error
  - VRE_unpack
  - vre_limit
  - VRE_export
  - vre_capture
  - VRE_match
  - VRE_capture
  - VRE_sub
  - VRE_free
  - VRE_quote
  source_file: /src/vinyl-cache/lib/libvinyl/vre.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VRE_PACKED_RE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/lib/libvinyl/vre.c
      type_or_value: (pcre2_code *)(-1)
    - item_type: preproc_def
      name: VRE_MAGIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/vinyl-cache/lib/libvinyl/vre.c
      type_or_value: '0xe83097dc'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*re'
        type: pcre2_code
      - name: '*re_ctx'
        type: pcre2_match_context
      item_type: struct
      name: vre
      pos:
        line_end: 58
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvinyl/vre.c
    typedefs: []
    union: []
- function_names:
  - KASSERT
  - SBMALLOC
  - SBFREE
  - rndup2
  - VSB_ISDYNAMIC
  - VSB_ISDYNSTRUCT
  - VSB_HASROOM
  - VSB_FREESPACE
  - VSB_CANEXTEND
  - VSB_SETFLAG
  - VSB_CLEARFLAG
  - _assert_VSB_integrity
  - _assert_VSB_state
  - assert_VSB_integrity
  - assert_VSB_state
  - assert_VSB_integrity
  - assert_VSB_state
  - VSB_extendsize
  - VSB_extend
  - _vsb_indent
  - VSB_newbuf
  - VSB_init
  - VSB_new_auto
  - VSB_clear
  - VSB_put_byte
  - VSB_bcat
  - VSB_cat
  - VSB_vprintf
  - VSB_printf
  - VSB_putc
  - VSB_error
  - VSB_finish
  - VSB_data
  - VSB_len
  - VSB_fini
  - VSB_destroy
  - vsb_quote_hex
  - VSB_quote_pfx
  - VSB_quote
  - VSB_indent
  - VSB_tofile
  source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VSB_MINEXTENDSIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
      type_or_value: "16\t\t"
    - item_type: preproc_def
      name: VSB_MAXEXTENDSIZE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
      type_or_value: PAGE_SIZE
    - item_type: preproc_def
      name: VSB_MAXEXTENDINCR
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
      type_or_value: PAGE_SIZE
    - item_type: preproc_def
      name: VSB_MAXEXTENDSIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: VSB_MAXEXTENDINCR
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/vinyl-cache/lib/libvinyl/vsb.c
      type_or_value: '4096'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VCT_invalid_name
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vct.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCT_UPALPHA
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
      type_or_value: (VCT_ALPHA | VCT_UPPER | VCT_BASE64)
    - item_type: preproc_def
      name: VCT_LOALPHA
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvinyl/vct.c
      type_or_value: (VCT_ALPHA | VCT_LOWER | VCT_BASE64)
    structs: []
    typedefs: []
    union: []
- function_names:
  - BAIL
  - sf_parse_int
  - SF_Parse_Integer
  - SF_Parse_Number
  - SF_Parse_Decimal
  - VNUM
  - VNUM_duration_unit
  - VNUM_duration
  - VNUM_bytes_unit
  - VNUM_2bytes
  - vnum_uint
  - VNUM_uint
  - VNUM_hex
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vnum.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: maxdig
        type: int
      - name: retval
        type: int64_t
      - name: consumed
        type: int
      - name: sign
        type: int
      - name: '*errtxt'
        type: char
      item_type: struct
      name: test_sf_parse_int
      pos:
        line_end: 432
        line_start: 425
        source_file: /src/vinyl-cache/lib/libvinyl/vnum.c
    - fields:
      - name: '*input'
        type: char
      - name: strict
        type: int
      - name: retval
        type: double
      - name: consumed
        type: int
      - name: '*errtxt'
        type: char
      item_type: struct
      name: test_sf_parse_number
      pos:
        line_end: 454
        line_start: 448
        source_file: /src/vinyl-cache/lib/libvinyl/vnum.c
    - fields:
      - name: '*str'
        type: char
      - name: rel
        type: uintmax_t
      - name: val
        type: uintmax_t
      - name: '*err'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 488
        line_start: 483
        source_file: /src/vinyl-cache/lib/libvinyl/vnum.c
    typedefs: []
    union: []
- function_names:
  - VJSN_TYPE_MACRO
  - VJSN_EXPECT
  - vjsn_val_new
  - vjsn_val_delete
  - vjsn_delete
  - vjsn_skip_ws
  - vjsn_unumber
  - vjsn_unicode
  - vjsn_string
  - vjsn_object
  - vjsn_array
  - vjsn_number
  - vjsn_value
  - vjsn_parse_end
  - vjsn_parse
  - vjsn_child
  - vjsn_dump_i
  - vjsn_dump_val
  - vjsn_dump
  - VJSN_TYPE_MACRO
  - test_good
  - test_bad
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vjsn.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vav_backslash_txt
  - VAV_BackSlash
  - VAV_BackSlashDecode
  - VAV_ParseTxt
  - VAV_Parse
  - VAV_Free
  - VAV_Print
  - Test
  - printf_v
  - printf_v_info
  - main
  - test_run
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vav.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: flag
        type: int
      - name: '*str'
        type: char
      - name: '**argv'
        type: char
      item_type: struct
      name: test_case
      pos:
        line_end: 376
        line_start: 372
        source_file: /src/vinyl-cache/lib/libvinyl/vav.c
    typedefs: []
    union: []
- function_names:
  - vbt_unwind
  - vbt_execinfo
  - VBT_format
  - VBT_dump
  source_file: /src/vinyl-cache/lib/libvinyl/vbt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BACKTRACE_LEVELS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/vinyl-cache/lib/libvinyl/vbt.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - vtcp_sa_to_ascii
  - VTCP_name
  - VTCP_my_suckaddr
  - VTCP_myname
  - VTCP_hisname
  - VTCP_filter_http
  - VTCP_filter_http
  - VTCP_filter_http
  - VTCP_fastopen
  - VTCP_blocking
  - VTCP_nonblocking
  - VTCP_connected
  - VTCP_connect
  - VTCP_close
  - VTCP_set_read_timeout
  - vtcp_open_callback
  - VTCP_open
  - VTCP_bind
  - VTCP_listen
  - vtcp_lo_cb
  - VTCP_listen_on
  - VTCP_linger
  - VTCP_check_hup
  - VTCP_Check
  - VTCP_read
  source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOL_TCP
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
      type_or_value: IPPROTO_TCP
    - item_type: preproc_def
      name: VTO_PRIV_MAGIC
      pos:
        line_end: 365
        line_start: 364
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
      type_or_value: '0xca70b0e7'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: latest_errno
        type: int
      - name: fd
        type: int
      - name: timeout
        type: double
      item_type: struct
      name: vto_priv
      pos:
        line_end: 368
        line_start: 362
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
    - fields:
      - name: depth
        type: int
      - name: '**errp'
        type: char
      item_type: struct
      name: helper
      pos:
        line_end: 500
        line_start: 497
        source_file: /src/vinyl-cache/lib/libvinyl/vtcp.c
    typedefs: []
    union: []
- function_names:
  - ROW
  - A
  - parent
  - child
  - parent
  - child
  - vbh_addrow
  - VBH_new
  - VBH_destroy
  - vbh_update
  - binhead_swap
  - vbh_trickleup
  - vbh_trickledown
  - VBH_insert
  - chk
  - VBH_root
  - VBH_delete
  - VBH_reorder
  - cmp
  - update
  - chk2
  - vrnd_lock
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ROW_SHIFT
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: '16'
    - item_type: preproc_def
      name: ROOT_IDX
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ROW_WIDTH
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: (1 << ROW_SHIFT)
    - item_type: preproc_def
      name: VBH_MAGIC
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: "0xf581581a\t"
    - item_type: preproc_def
      name: FOO_MAGIC
      pos:
        line_end: 484
        line_start: 483
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: '0x23239823'
    - item_type: preproc_def
      name: M
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: "500083\t"
    - item_type: preproc_def
      name: N
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: "131101\t"
    - item_type: preproc_def
      name: R
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
      type_or_value: "-1\t\t"
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*priv'
        type: void
      - name: '*cmp'
        type: vbh_cmp_t
      - name: '*update'
        type: vbh_update_t
      - name: '***array'
        type: void
      - name: rows
        type: unsigned
      - name: length
        type: unsigned
      - name: next
        type: unsigned
      - name: page_size
        type: unsigned
      - name: page_mask
        type: unsigned
      - name: page_shift
        type: unsigned
      item_type: struct
      name: vbh
      pos:
        line_end: 94
        line_start: 81
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    - fields:
      - name: magic
        type: unsigned
      - name: idx
        type: unsigned
      - name: key
        type: unsigned
      - name: n
        type: unsigned
      item_type: struct
      name: foo
      pos:
        line_end: 487
        line_start: 481
        source_file: /src/vinyl-cache/lib/libvinyl/vbh.c
    typedefs: []
    union: []
- function_names:
  - VTE_new
  - VTE_destroy
  - vte_update
  - VTE_putc
  - VTE_cat
  - VTE_printf
  - VTE_finish
  - VTE_FORMAT
  - VTE_dump
  - VTE_format
  - test_vsb_format
  - main
  source_file: /src/vinyl-cache/lib/libvinyl/vte.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MINSEP
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAXSEP
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
      type_or_value: '3'
    - item_type: preproc_def
      name: VTE_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
      type_or_value: '0xedf42b97'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vsb'
        type: struct vsb
      - name: c_off
        type: int
      - name: l_sz
        type: int
      - name: l_maxsz
        type: int
      - name: o_sz
        type: int
      - name: o_sep
        type: int
      - name: f_off
        type: int
      - name: f_sz
        type: int
      - name: f_cnt
        type: int
      - name: f_maxcnt
        type: int
      - name: v_counted_by_(f_maxcnt)
        type: int
      item_type: struct
      name: vte
      pos:
        line_end: 66
        line_start: 51
        source_file: /src/vinyl-cache/lib/libvinyl/vte.c
    typedefs: []
    union: []
- function_names:
  - VLU_New
  - VLU_Reset
  - VLU_Destroy
  - LineUpProcess
  - VLU_Fd
  - VLU_File
  - VLU_Feed
  source_file: /src/vinyl-cache/lib/libvinyl/vlu.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LINEUP_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/vinyl-cache/lib/libvinyl/vlu.c
      type_or_value: '0x08286661'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*buf'
        type: char
      - name: bufl
        type: unsigned
      - name: bufp
        type: unsigned
      - name: '*priv'
        type: void
      - name: '*func'
        type: vlu_f
      item_type: struct
      name: vlu
      pos:
        line_end: 53
        line_start: 45
        source_file: /src/vinyl-cache/lib/libvinyl/vlu.c
    typedefs: []
    union: []
- function_names:
  - VCS_Message
  - VCS_String
  source_file: /src/vinyl-cache/lib/libvinyl/version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FAIL
  - ERR
  - VERR
  - ERRNOTUDS
  - FAIL_SUPPORT
  - ERRNOCREDS
  - ERRNOMEM
  - get_sp
  - NUM_FUNC
  - NAME_FUNC
  source_file: /src/vinyl-cache/vmod/vmod_unix.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - AENC
  source_file: /src/vinyl-cache/vmod/vmod_blob.h
  types:
    enum:
    - enumerators:
      - name: __INVALID_ENCODING
        value: '0'
      - name: __MAX_ENCODING
      item_type: enum
      name: encoding
      pos:
        line_end: 40
        line_start: 35
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
    preproc_defs:
    - item_type: preproc_def
      name: ILL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type_or_value: ((int8_t) 127)
    - item_type: preproc_def
      name: PAD
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type_or_value: ((int8_t) 126)
    structs: []
    typedefs:
    - item_type: typedef
      name: blob_len_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type: size_t
    - item_type: typedef
      name: blob_slen_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type: ssize_t
    - item_type: typedef
      name: "*restrict const\t\tblob_dest_t"
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type: char
    - item_type: typedef
      name: "*restrict const\tblob_src_t"
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type: char
    - item_type: typedef
      name: len_f(size_t)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type: size_t
    - item_type: typedef
      name: "encode_f(const enum encoding enc, const enum case_e kase,\n\t\t blob_dest_t
        buf, blob_len_t buflen,\n\t\t blob_src_t in, blob_len_t inlen)"
      pos:
        line_end: 91
        line_start: 88
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type: ssize_t
    - item_type: typedef
      name: "decode_f(const enum encoding dec, blob_dest_t buf,\n    blob_len_t buflen,
        blob_slen_t inlen, VCL_STRANDS strings)"
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/vinyl-cache/vmod/vmod_blob.h
      type: ssize_t
    union: []
- function_names:
  - dbg_error
  - dbg_deliver
  - dbg_sendbody
  - dbg_deliver_finish
  - debug_transport_reembarking_http1_init
  - debug_transport_reembarking_http1_use
  source_file: /src/vinyl-cache/vmod/vmod_debug_transport_reembarking_http1.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/vmod/vmod_blob_tbl_encodings.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vmod_set_ip_tos
  - vmod_updown
  - vmod_toupper
  - vmod_tolower
  - vmod_random
  - vmod_log
  - vmod_syslog
  - vmod_file_exists
  - vmod_collect
  - vmod_healthy
  - vmod_port
  - vmod_rollback
  - vmod_timestamp
  - vmod_cache_req_body
  - vmod_strstr
  - vmod_getenv
  - vmod_late_100_continue
  - vmod_syntax
  - vmod_fnmatch
  - vmod_ban
  - vmod_ban_error
  - vmod_now
  - vmod_timed_call
  - vmod_rfc_ttl
  source_file: /src/vinyl-cache/vmod/vmod_std.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/vmod/vmod_debug.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dyn_dir_init
  - xyzzy_dyn__init
  - xyzzy_dyn__fini
  - xyzzy_dyn_backend
  - xyzzy_dyn_refresh
  - dyn_uds_init
  - xyzzy_dyn_uds__init
  - xyzzy_dyn_uds__fini
  - xyzzy_dyn_uds_backend
  - xyzzy_dyn_uds_refresh
  source_file: /src/vinyl-cache/vmod/vmod_debug_dyn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_DEBUG_DYN_MAGIC
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/vmod/vmod_debug_dyn.c
      type_or_value: '0x9b77ccbd'
    - item_type: preproc_def
      name: VMOD_DEBUG_UDS_MAGIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/vmod/vmod_debug_dyn.c
      type_or_value: '0x6c7370e6'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: mtx
        type: pthread_mutex_t
      - name: '*vcl_name'
        type: char
      - name: dir
        type: VCL_BACKEND
      item_type: struct
      name: xyzzy_debug_dyn
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    - fields:
      - name: magic
        type: unsigned
      - name: mtx
        type: pthread_mutex_t
      - name: '*vcl_name'
        type: char
      - name: dir
        type: VCL_BACKEND
      item_type: struct
      name: xyzzy_debug_dyn_uds
      pos:
        line_end: 60
        line_start: 54
        source_file: /src/vinyl-cache/vmod/vmod_debug_dyn.c
    typedefs: []
    union: []
- function_names:
  - cobj_free
  - cobj_get
  - vmod_parse
  - find_cookie
  - vmod_set
  - vmod_isset
  - vmod_get
  - vmod_get_re
  - vmod_delete
  - vmod_clean
  - filter_cookies
  - vmod_keep
  - vmod_filter
  - re_filter
  - vmod_keep_re
  - vmod_filter_re
  - vmod_get_string
  - vmod_format_date
  source_file: /src/vinyl-cache/vmod/vmod_cookie.c
  types:
    enum:
    - enumerators:
      - name: blacklist
      - name: whitelist
      item_type: enum
      name: filter_action
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/vinyl-cache/vmod/vmod_cookie.c
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_COOKIE_ENTRY_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/vmod/vmod_cookie.c
      type_or_value: '0x3BB41543'
    - item_type: preproc_def
      name: VMOD_COOKIE_MAGIC
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/vinyl-cache/vmod/vmod_cookie.c
      type_or_value: '0x4EE5FB2E'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      - name: (cookie)
        type: VTAILQ_ENTRY
      item_type: struct
      name: cookie
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/vinyl-cache/vmod/vmod_cookie.c
    - fields:
      - name: '*name'
        type: char
      - name: (matchlist)
        type: VTAILQ_ENTRY
      item_type: struct
      name: matchlist
      pos:
        line_end: 64
        line_start: 61
        source_file: /src/vinyl-cache/vmod/vmod_cookie.c
    - fields:
      - name: magic
        type: unsigned
      - name: (, cookie)
        type: VTAILQ_HEAD
      item_type: struct
      name: vmod_cookie
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/vinyl-cache/vmod/vmod_cookie.c
    typedefs: []
    union: []
- function_names:
  - id_encode_l
  - id_decode_l
  - id_encode
  - id_decode
  source_file: /src/vinyl-cache/vmod/vmod_blob_id.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vmod_fallback_healthy
  - vmod_fallback_list
  - vmod_fallback_resolve
  - vmod_fallback_release
  - vmod_fallback_destroy
  - vmod_fallback__init
  - vmod_fallback__fini
  - vmod_fallback_add_backend
  - vmod_fallback_remove_backend
  - vmod_fallback_backend
  source_file: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_DIRECTORS_FALLBACK_MAGIC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
      type_or_value: '0xad4e26ba'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vd'
        type: struct vdir
      - name: st
        type: VCL_BOOL
      - name: cur
        type: unsigned
      item_type: struct
      name: vmod_directors_fallback
      pos:
        line_end: 49
        line_start: 43
        source_file: /src/vinyl-cache/vmod/vmod_directors_fall_back.c
    typedefs: []
    union: []
- function_names:
  - vmod_random_healthy
  - vmod_random_list
  - vmod_random_resolve
  - vmod_random_release
  - vmod_random_destroy
  - vmod_random__init
  - vmod_random__fini
  - vmod_random_add_backend
  - v_matchproto_
  - vmod_random_backend
  source_file: /src/vinyl-cache/vmod/vmod_directors_random.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_DIRECTORS_RANDOM_MAGIC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/vmod/vmod_directors_random.c
      type_or_value: '0x4732d092'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vd'
        type: struct vdir
      item_type: struct
      name: vmod_directors_random
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/vinyl-cache/vmod/vmod_directors_random.c
    typedefs: []
    union: []
- function_names:
  - tlv_ssl_flag
  - vmod_is_ssl
  - vmod_client_has_cert_sess
  - vmod_client_has_cert_conn
  - vmod_ssl_verify_result
  - tlv_string
  - vmod_alpn
  - vmod_authority
  - vmod_ssl_version
  - vmod_ssl_cipher
  - vmod_cert_sign
  - vmod_cert_key
  - vmod_client_cert_cn
  source_file: /src/vinyl-cache/vmod/vmod_proxy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PP2_CLIENT_SSL
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/vmod/vmod_proxy.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: PP2_CLIENT_CERT_CONN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/vmod/vmod_proxy.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: PP2_CLIENT_CERT_SESS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/vmod/vmod_proxy.c
      type_or_value: '0x04'
    structs:
    - fields:
      - name: client
        type: uint8_t
      - name: verify
        type: uint32_t
      item_type: struct
      name: pp2_tlv_ssl
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/vinyl-cache/vmod/vmod_proxy.c
    typedefs: []
    union: []
- function_names:
  - vmod_constant
  - vmod_fpclass
  - vmod_fpclassify
  - vmod_isfinite
  - vmod_isgreater
  - vmod_isgreaterequal
  - vmod_isinf
  - vmod_isless
  - vmod_islessequal
  - vmod_islessgreater
  - vmod_isnan
  - vmod_isnormal
  - vmod_isunordered
  - vmod_signbit
  - vmod_acos
  - vmod_acosh
  - vmod_asin
  - vmod_asinh
  - vmod_atan
  - vmod_atan2
  - vmod_atanh
  - vmod_cbrt
  - vmod_ceil
  - vmod_copysign
  - vmod_cos
  - vmod_cosh
  - vmod_erf
  - vmod_erfc
  - vmod_exp
  - vmod_exp2
  - vmod_expm1
  - vmod_fabs
  - vmod_fdim
  - vmod_floor
  - vmod_fma
  - vmod_fmax
  - vmod_fmin
  - vmod_fmod
  - vmod_hypot
  - vmod_ilogb
  - vmod_j0
  - vmod_j1
  - vmod_jn
  - vmod_ldexp
  - vmod_lgamma
  - vmod_log
  - vmod_log10
  - vmod_log1p
  - vmod_log2
  - vmod_logb
  - vmod_lrint
  - vmod_lround
  - vmod_nan
  - vmod_nearbyint
  - vmod_nextafter
  - vmod_pow
  - vmod_remainder
  - vmod_rint
  - vmod_round
  - vmod_scalbln
  - vmod_scalbn
  - vmod_sin
  - vmod_sinh
  - vmod_sqrt
  - vmod_tan
  - vmod_tanh
  - vmod_tgamma
  - vmod_trunc
  - vmod_y0
  - vmod_y1
  - vmod_yn
  source_file: /src/vinyl-cache/vmod/vmod_math.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xyzzy_obj__init
  - xyzzy_obj__fini
  - xyzzy_obj_enum
  - xyzzy_obj_obj
  - xyzzy_obj_foo
  - xyzzy_obj_date
  - xyzzy_obj_string
  - xyzzy_obj_number
  - xyzzy_obj_test_priv_call
  - xyzzy_obj_test_priv_vcl
  - PRIV_FINI
  - xyzzy_obj_test_priv_task
  - xyzzy_obj_test_priv_top
  - xyzzy_obj_opt__init
  - xyzzy_obj_opt__fini
  - xyzzy_obj_opt_meth_opt
  source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_DEBUG_OBJ_MAGIC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
      type_or_value: '0xccbd9b77'
    - item_type: preproc_def
      name: VMOD_DEBUG_OBJ_OPT_MAGIC
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
      type_or_value: '0xccbd9b78'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: foobar
        type: int
      - name: '*string'
        type: char
      - name: '*number'
        type: char
      - name: vcl_name
        type: VCL_STRING
      item_type: struct
      name: xyzzy_debug_obj
      pos:
        line_end: 51
        line_start: 44
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*name'
        type: char
      - name: (obj_opt_meth_opt)
        type: struct VARGS
      - name: '*freeptr'
        type: void
      item_type: struct
      name: xyzzy_debug_obj_opt
      pos:
        line_end: 304
        line_start: 298
        source_file: /src/vinyl-cache/vmod/vmod_debug_obj.c
    typedefs: []
    union: []
- function_names:
  - shard_change_fini
  - shard_change_get
  - shard_change_finish
  - shard_change_task_add
  - shard_change_task_backend
  - shardcfg_add_backend
  - shardcfg_remove_backend
  - shardcfg_clear
  - circlepoint_compare
  - shardcfg_hashcircle
  - shardcfg_backend_free
  - shardcfg_backend_copyin
  - shardcfg_backend_cmp
  - shardcfg_backend_del_cmp
  - shardcfg_backend_lookup
  - shardcfg_backend_expand
  - shardcfg_backend_add
  - shardcfg_backend_clear
  - shardcfg_backend_del
  - shardcfg_backend_finalize
  - shardcfg_apply_change
  - change_reconfigure
  - shardcfg_reconfigure
  - shardcfg_delete
  - shardcfg_set_warmup
  - shardcfg_set_rampup
  - shardcfg_get_rampup
  source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
  types:
    enum:
    - enumerators:
      - name: _SHARD_TASK_E_INVALID
        value: '0'
      - name: ADD_BE
      - name: CLEAR
      - name: _SHARD_TASK_E_MAX
      - name: REMOVE_BE
      item_type: enum
      name: shard_change_task_e
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    preproc_defs:
    - item_type: preproc_def
      name: SHARD_CHANGE_TASK_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
      type_or_value: '0x1e1168af'
    - item_type: preproc_def
      name: SHARD_CHANGE_MAGIC
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
      type_or_value: '0xdff5c9a6'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: task
        type: enum shard_change_task_e
      - name: '*priv'
        type: void
      - name: weight
        type: VCL_REAL
      - name: (shard_change_task)
        type: VSTAILQ_ENTRY
      item_type: struct
      name: shard_change_task
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    - fields:
      - name: '* const shardd'
        type: struct sharddir
      - name: hint
        type: unsigned
      - name: hole_n
        type: unsigned
      - name: hole_i
        type: unsigned
      item_type: struct
      name: backend_reconfig
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
    typedefs:
    - item_type: typedef
      name: (*compar)( const void*, const void* )
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.c
      type: int
    union: []
- function_names:
  - compa
  - vmod_querysort
  source_file: /src/vinyl-cache/vmod/vmod_std_querysort.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - vdpio_hello_init
  - vdpio_hello_lease
  - vdpio_reluctant_later_task
  - vdpio_reluctant_later
  - vdpio_reluctant_init
  - vdpio_reluctant_lease
  - vdpio_reluctant_fini
  - dbg_vai_error
  - dbg_vai_deliver
  - dbg_vai_deliverobj
  - dbg_vai_notify_init
  - dbg_vai_notify_fini
  - dbg_vai_notify
  - dbg_vai_notify_wait
  - dbg_vai_lease_done
  - dbg_vai_lease
  - dbg_vai_deliver_finish
  - debug_transport_vai_init
  - debug_transport_vai_use
  source_file: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HELLO
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
      type_or_value: '"hello "'
    - item_type: preproc_def
      name: VDPRS_MAGIC
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
      type_or_value: '0xeaf5bc82'
    - item_type: preproc_def
      name: DBG_VAI_NOTIFY_MAGIC
      pos:
        line_end: 384
        line_start: 383
        source_file: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
      type_or_value: '0xa0154ed5'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: been_reluctant
        type: unsigned
      - name: task
        type: struct pool_task
      item_type: struct
      name: vdp_reluctant_state
      pos:
        line_end: 107
        line_start: 102
        source_file: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    - fields:
      - name: magic
        type: unsigned
      - name: hasmore
        type: unsigned
      - name: mtx
        type: pthread_mutex_t
      - name: cond
        type: pthread_cond_t
      item_type: struct
      name: dbg_vai_notify
      pos:
        line_end: 387
        line_start: 381
        source_file: /src/vinyl-cache/vmod/vmod_debug_transport_vai.c
    typedefs: []
    union: []
- function_names:
  - base64_l
  - base64nopad_encode_l
  - base64_encode_l
  - base64_decode_l
  - decode
  - base64_encode
  - base64_decode
  source_file: /src/vinyl-cache/vmod/vmod_blob_base64.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: b64[65]
        type: char
      - name: i64[256]
        type: int8_t
      - name: padding
        type: int
      item_type: struct
      name: b64_alphabet
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/vinyl-cache/vmod/vmod_blob_base64.c
    typedefs: []
    union: []
- function_names:
  - vmod_barrier_sync
  - vmod_no_backend
  - vmod_no_stevedore
  - vmod_no_ip
  - vmod_panic
  - vmod_sleep
  - vtc_ws_find
  - vmod_workspace_alloc
  - vmod_workspace_reserve
  - vmod_workspace_free
  - VTC_WS_OP
  - vmod_workspace_dump
  - VTC_TYPESIZE
  - vmod_vsl
  - vsl_line
  - vmod_vsl_replay
  source_file: /src/vinyl-cache/vmod/vmod_vtc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WS_DUMP_MAXLEN
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/vinyl-cache/vmod/vmod_vtc.c
      type_or_value: '1023'
    structs: []
    typedefs: []
    union: []
- function_names:
  - sharddir_debug
  - sharddir_log
  - shard_lookup
  - shard_next
  - sharddir_new
  - sharddir_set_param
  - sharddir_release
  - sharddir_delete
  - sharddir_rdlock
  - sharddir_wrlock
  - sharddir_unlock
  - validate_alt
  - init_state
  - sharddir_any_healthy
  - sharddir_pick_be_locked
  - sharddir_pick_be
  source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: hostid
        type: unsigned
      - name: healthy
        type: unsigned
      - name: changed
        type: double
      item_type: struct
      name: shard_be_info
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    - fields:
      - name: '*ctx'
        type: struct vrt_ctx
      - name: '*shardd'
        type: struct sharddir
      - name: idx
        type: uint32_t
      - name: '*picklist'
        type: struct vbitmap
      - name: pickcount
        type: unsigned
      - name: previous
        type: struct shard_be_info
      - name: last
        type: struct shard_be_info
      item_type: struct
      name: shard_state
      pos:
        line_end: 70
        line_start: 60
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/vmod/vmod_directors.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VDIR_MAGIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/vinyl-cache/vmod/vmod_directors.h
      type_or_value: '0x99f4b726'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: n_backend
        type: unsigned
      - name: l_backend
        type: unsigned
      - name: n_healthy
        type: unsigned
      - name: mtx
        type: pthread_rwlock_t
      - name: '*backend'
        type: VCL_BACKEND
      - name: '*weight'
        type: double
      - name: total_weight
        type: double
      - name: dir
        type: VCL_BACKEND
      - name: '*healthy'
        type: struct vbitmap
      item_type: struct
      name: vdir
      pos:
        line_end: 44
        line_start: 32
        source_file: /src/vinyl-cache/vmod/vmod_directors.h
    typedefs: []
    union: []
- function_names:
  - vmod_approx
  - valid_fmt
  - vmod_strfromd
  source_file: /src/vinyl-cache/vmod/vmod_math_util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - cred_compat_init
  - cred_compat_fini
  - get_ids
  source_file: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CREDS_FAIL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: NOT_SUPPORTED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
      type_or_value: '-2'
    structs: []
    typedefs:
    - item_type: typedef
      name: ucred_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
      type: sockpeercred
    - item_type: typedef
      name: ucred_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/vinyl-cache/vmod/vmod_unix_cred_compat.h
      type: ucred
    union: []
- function_names:
  - h2get
  - vmod_is
  - GETSET
  - vmod_rapid_reset_budget
  source_file: /src/vinyl-cache/vmod/vmod_h2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - default_by
  - default_healthy
  - shard__assert
  - vmod_shard_release
  - vmod_shard_destroy
  - vmod_shard__init
  - vmod_shard__fini
  - vmod_shard_key
  - vmod_shard_set_warmup
  - vmod_shard_set_rampup
  - vmod_shard_associate
  - vmod_shard_add_backend
  - vmod_shard_remove_backend
  - vmod_shard_clear
  - vmod_shard_reconfigure
  - shard_get_key
  - shard_param_merge
  - mrg
  - shard_blob_key
  - tobit
  - shard_backendarg_mask_
  - shard_param_set_mask
  - shard_param_args
  - vmod_shard_backend
  - vmod_shard_healthy
  - vmod_shard_resolve
  - vmod_shard_list
  - vmod_shard_debug
  - vmod_shard_param__init
  - vmod_shard_param__fini
  - shard_param_stack
  - shard_param_task_r
  - shard_param_task_l
  - shard_param_prep
  - vmod_shard_param_set
  - vmod_shard_param_clear
  - vmod_shard_param_read
  - vmod_shard_param_get_by
  - vmod_shard_param_get_key
  - vmod_shard_param_get_alt
  - vmod_shard_param_get_warmup
  - vmod_shard_param_get_rampup
  - vmod_shard_param_get_healthy
  - shard_param_blob
  - vmod_shard_param_use
  source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
  types:
    enum:
    - enumerators:
      - name: _SCOPE_INVALID
        value: '0'
      - name: SCOPE_TASK
      - name: SCOPE_VCL
      - name: SCOPE_VMOD
      - name: SCOPE_STACK
      item_type: enum
      name: vmod_directors_shard_param_scope
      pos:
        line_end: 114
        line_start: 108
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    preproc_defs:
    - item_type: preproc_def
      name: arg_by
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1)
    - item_type: preproc_def
      name: arg_key
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 1)
    - item_type: preproc_def
      name: arg_key_blob
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 2)
    - item_type: preproc_def
      name: arg_alt
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 3)
    - item_type: preproc_def
      name: arg_warmup
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 4)
    - item_type: preproc_def
      name: arg_rampup
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 5)
    - item_type: preproc_def
      name: arg_healthy
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 6)
    - item_type: preproc_def
      name: arg_param
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 7)
    - item_type: preproc_def
      name: arg_resolve
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((uint32_t)1 << 8)
    - item_type: preproc_def
      name: arg_mask_
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: ((arg_resolve << 1) - 1)
    - item_type: preproc_def
      name: arg_mask_set_
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: (arg_param - 1)
    - item_type: preproc_def
      name: arg_mask_param_
      pos:
        line_end: 104
        line_start: 101
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: "( arg_mask_set_\t\t\\\n\t\t\t  & ~arg_key\t\t\t\\\n\t\t\t  &
        ~arg_key_blob )"
    - item_type: preproc_def
      name: VMOD_SHARD_SHARD_PARAM_BLOB
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: '0xdf5ca116'
    - item_type: preproc_def
      name: VMOD_SHARD_SHARD_PARAM_MAGIC
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: '0xdf5ca117'
    - item_type: preproc_def
      name: SHARD_VCL_TASK_REQ
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: (VCL_MET_TASK_C & ~VCL_MET_PIPE)
    - item_type: preproc_def
      name: SHARD_VCL_TASK_BEREQ
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: (VCL_MET_TASK_B | VCL_MET_PIPE)
    - item_type: preproc_def
      name: VMOD_SHARD_SHARD_MAGIC
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
      type_or_value: '0x6e63e1bf'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: key
        type: uint32_t
      - name: '*vcl_name'
        type: char
      - name: '*defaults'
        type: struct vmod_directors_shard_param
      - name: scope
        type: enum vmod_directors_shard_param_scope
      - name: by
        type: VCL_ENUM
      - name: healthy
        type: VCL_ENUM
      - name: mask
        type: uint32_t
      - name: rampup
        type: VCL_BOOL
      - name: alt
        type: VCL_INT
      - name: warmup
        type: VCL_REAL
      item_type: struct
      name: vmod_directors_shard_param
      pos:
        line_end: 137
        line_start: 120
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    - fields:
      - name: magic
        type: unsigned
      - name: '*shardd'
        type: struct sharddir
      - name: dir
        type: VCL_BACKEND
      item_type: struct
      name: vmod_directors_shard
      pos:
        line_end: 191
        line_start: 186
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/vmod/vmod_directors_shard_cfg.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xyzzy_author
  - AN0
  - AN1
  - PRIV_FINI
  - xyzzy_test_priv_call
  - xyzzy_test_priv_task_get
  - xyzzy_test_priv_task
  - xyzzy_test_priv_top
  - xyzzy_test_default_bool
  - xyzzy_test_priv_vcl
  - xyzzy_rot52
  - xyzzy_argtest
  - xyzzy_vre_limit
  - obj_cb
  - xyzzy_register_obj_events
  - xyzzy_fail
  - xyzzy_fail2
  - priv_vcl_fini
  - event_load
  - xyzzy_vcl_prevent_cold
  - xyzzy_vcl_allow_cold
  - xyzzy_cold_backend
  - xyzzy_cooling_backend
  - event_warm
  - cooldown_thread
  - create_cold_backend
  - event_cold
  - event_discard
  - xyzzy_event_function
  - xyzzy_vcl_discard_delay
  - xyzzy_test_probe
  - xyzzy_vsc_new
  - xyzzy_vsc_count
  - xyzzy_vsc_destroy
  - xyzzy_concat__init
  - xyzzy_concat__fini
  - xyzzy_concat_get
  - xyzzy_concatenate
  - xyzzy_collect
  - xyzzy_sethdr
  - mylog
  - xyzzy_priv_perf
  - xyzzy_return_strands
  - xyzzy_return_null_strands
  - xyzzy_is_null_strands
  - xyzzy_vsl_flush
  - xyzzy_catflap_simple
  - xyzzy_catflap_last
  - xyzzy_catflap
  - xyzzy_stk
  - xyzzy_sndbuf
  - xyzzy_store_ip
  - xyzzy_get_ip
  - (debug_director)
  - xyzzy_director__init
  - xyzzy_director__fini
  - xyzzy_director_fail
  - vmod_debug_director_healthy
  - vmod_debug_director_resolve
  - xyzzy_client_ip
  - xyzzy_client_port
  - fail_f
  - xyzzy_fail_task_fini
  - xyzzy_ok_task_fini
  - xyzzy_re_quote
  - xyzzy_priv_task_with_option
  - xyzzy_validhdr
  - xyzzy_just_return_regex
  - xyzzy_call
  - xyzzy_check_call
  - xyzzy_bad_memory
  - xyzzy_total_recall
  - (debug_caller)
  - xyzzy_caller__init
  - xyzzy_caller__fini
  - xyzzy_caller_call
  - xyzzy_caller_xsub
  - resolve_cb
  - xyzzy_resolve_range
  - xyzzy_use_reembarking_http1
  - xyzzy_use_vai_http1
  - in_oc
  - ptr_where
  - xyzzy_log_strands
  source_file: /src/vinyl-cache/vmod/vmod_debug.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIV_VCL_MAGIC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
      type_or_value: '0x8E62FA9D'
    - item_type: preproc_def
      name: CONCAT_MAGIC
      pos:
        line_end: 601
        line_start: 600
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
      type_or_value: '0x6b746493'
    - item_type: preproc_def
      name: VMOD_DEBUG_DIRECTOR_MAGIC
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
      type_or_value: '0x66b9ff3d'
    - item_type: preproc_def
      name: DEBUG_CALLER_MAGIC
      pos:
        line_end: 1198
        line_start: 1197
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
      type_or_value: '0xb47f3449'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*foo'
        type: char
      - name: obj_cb
        type: uintptr_t
      - name: '*vclref_discard'
        type: struct vclref
      - name: '*vclref_cold'
        type: struct vclref
      - name: vcl_discard_delay
        type: VCL_DURATION
      - name: be
        type: VCL_BACKEND
      - name: cold_be
        type: unsigned
      - name: cooling_be
        type: unsigned
      - name: tmpf
        type: int
      item_type: struct
      name: priv_vcl
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - fields:
      - name: magic
        type: unsigned
      - name: s
        type: VCL_STRING
      item_type: struct
      name: xyzzy_debug_concat
      pos:
        line_end: 602
        line_start: 598
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    - fields:
      - name: vsb[1]
        type: struct vsb
      - name: '*fail_port'
        type: char
      - name: '*errp[1]'
        type: char
      item_type: struct
      name: resolve_priv
      pos:
        line_end: 1254
        line_start: 1250
        source_file: /src/vinyl-cache/vmod/vmod_debug.c
    typedefs: []
    union: []
- function_names:
  - fini_frfile
  - find_frfile
  - vmod_fileread
  - vmod_blobread
  source_file: /src/vinyl-cache/vmod/vmod_std_fileread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CACHED_FILE_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/vinyl-cache/vmod/vmod_std_fileread.c
      type_or_value: '0xa8e9d87a'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*file_name'
        type: char
      - name: '*contents'
        type: void
      - name: blob[1]
        type: struct vrt_blob
      - name: refcount
        type: int
      - name: (frfile)
        type: VTAILQ_ENTRY
      item_type: struct
      name: frfile
      pos:
        line_end: 60
        line_start: 52
        source_file: /src/vinyl-cache/vmod/vmod_std_fileread.c
    typedefs: []
    union: []
- function_names:
  - VPFX
  - vdir_expand
  - vdir_new
  - vdir_release
  - vdir_delete
  - vdir_rdlock
  - vdir_wrlock
  - vdir_unlock
  - vdir_add_backend
  - vdir_remove_backend
  - vdir_any_healthy
  - vdir_list
  - vdir_update_health
  - vdir_pick_by_weight
  - vdir_pick_be
  source_file: /src/vinyl-cache/vmod/vmod_directors.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - url_encode_l
  - url_decode_l
  - isunreserved
  - isoutofrange
  - url_encode
  - url_decode
  source_file: /src/vinyl-cache/vmod/vmod_blob_url.c
  types:
    enum:
    - enumerators:
      - name: NORMAL
      - name: PERCENT
      - name: FIRSTNIB
      item_type: enum
      name: state_e
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/vinyl-cache/vmod/vmod_blob_url.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xyzzy_vfp_rot13_pull
  - xyzzy_vdp_rot13_init
  - xyzzy_vdp_rot13_bytes
  - xyzzy_vdp_rot13_fini
  - xyzzy_rot104
  - xyzzy_vdp_chunked_init
  - priv_pedantic_fini
  - xyzzy_pedantic_init
  - xyzzy_pedantic_bytes
  - xyzzy_pedantic_fini
  - xyzzy_vfp_slow_pull
  - xyzzy_vdp_slow_bytes
  - xyzzy_chksha256_init
  - xyzzy_chkcrc32_init
  - xyzzy_chklen_init
  - xyzzy_chksha256_bytes
  - xyzzy_chkcrc32_bytes
  - xyzzy_chklen_bytes
  - xyzzy_chksha256_fini
  - xyzzy_chkcrc32_fini
  - xyzzy_chklen_fini
  - chkcfg
  - xyzzy_chksha256
  - xyzzy_chkcrc32
  - xyzzy_chklen
  - xyzzy_awshog_init
  - debug_add_filters
  - debug_remove_filters
  source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
  types:
    enum:
    - enumerators:
      - name: VDPS_NULL
        value: '0'
      - name: VDPS_BYTES
      - name: VDPS_INIT
      - name: VDPS_END
      - name: VDPS_FINI
      item_type: enum
      name: vdp_state_e
      pos:
        line_end: 211
        line_start: 205
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - enumerators:
      - name: VDP_CHK_INVAL
        value: '0'
      - name: VDP_CHK_PANIC_UNLESS_ERROR
      - name: VDP_CHK_PANIC
      - name: VDP_CHK_LOG
      item_type: enum
      name: vdp_chk_mode_e
      pos:
        line_end: 364
        line_start: 358
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    preproc_defs:
    - item_type: preproc_def
      name: ROT13_BUFSZ
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '8'
    - item_type: preproc_def
      name: VDP_STATE_MAGIC
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '0x57c8d309'
    - item_type: preproc_def
      name: VDP_CHKSHA256_CFG_MAGIC
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '0x624f5b32'
    - item_type: preproc_def
      name: VDP_CHKCRC32_CFG_MAGIC
      pos:
        line_end: 376
        line_start: 375
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '0x5a7a835c'
    - item_type: preproc_def
      name: VDP_CHKLEN_CFG_MAGIC
      pos:
        line_end: 383
        line_start: 382
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '0x08cf3426'
    - item_type: preproc_def
      name: VDP_CHKSHA256_MAGIC
      pos:
        line_end: 390
        line_start: 389
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '0x6856e913'
    - item_type: preproc_def
      name: VDP_CHKCRC32_MAGIC
      pos:
        line_end: 399
        line_start: 398
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '0x15c03d3c'
    - item_type: preproc_def
      name: VDP_CHKLEN_MAGIC
      pos:
        line_end: 408
        line_start: 407
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
      type_or_value: '0x029811f5'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: state
        type: enum vdp_state_e
      item_type: struct
      name: vdp_state_s
      pos:
        line_end: 217
        line_start: 213
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - fields:
      - name: magic
        type: unsigned
      - name: mode
        type: enum vdp_chk_mode_e
      - name: expected[VSHA256_DIGEST_LENGTH]
        type: unsigned char
      item_type: struct
      name: vdp_chksha256_cfg_s
      pos:
        line_end: 371
        line_start: 366
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - fields:
      - name: magic
        type: unsigned
      - name: mode
        type: enum vdp_chk_mode_e
      - name: expected
        type: uint32_t
      item_type: struct
      name: vdp_chkcrc32_cfg_s
      pos:
        line_end: 378
        line_start: 373
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - fields:
      - name: magic
        type: unsigned
      - name: mode
        type: enum vdp_chk_mode_e
      - name: expected
        type: size_t
      item_type: struct
      name: vdp_chklen_cfg_s
      pos:
        line_end: 385
        line_start: 380
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - fields:
      - name: magic
        type: unsigned
      - name: called
        type: unsigned
      - name: bytes
        type: size_t
      - name: cx[1]
        type: struct VSHA256Context
      - name: '*cfg'
        type: struct vdp_chksha256_cfg_s
      item_type: struct
      name: vdp_chksha256_s
      pos:
        line_end: 394
        line_start: 387
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - fields:
      - name: magic
        type: unsigned
      - name: called
        type: unsigned
      - name: bytes
        type: size_t
      - name: crc
        type: uint32_t
      - name: '*cfg'
        type: struct vdp_chkcrc32_cfg_s
      item_type: struct
      name: vdp_chkcrc32_s
      pos:
        line_end: 403
        line_start: 396
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    - fields:
      - name: magic
        type: unsigned
      - name: called
        type: unsigned
      - name: bytes
        type: size_t
      - name: '*cfg'
        type: struct vdp_chklen_cfg_s
      item_type: struct
      name: vdp_chklen_s
      pos:
        line_end: 411
        line_start: 405
        source_file: /src/vinyl-cache/vmod/vmod_debug_filters.c
    typedefs: []
    union: []
- function_names:
  - vmod_hash_release
  - vmod_hash_destroy
  - vmod_hash__init
  - vmod_hash__fini
  - vmod_hash_add_backend
  - vmod_hash_remove_backend
  - vmod_hash_backend
  source_file: /src/vinyl-cache/vmod/vmod_directors_hash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_DIRECTORS_HASH_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/vmod/vmod_directors_hash.c
      type_or_value: '0xc08dd611'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vd'
        type: struct vdir
      item_type: struct
      name: vmod_directors_hash
      pos:
        line_end: 45
        line_start: 41
        source_file: /src/vinyl-cache/vmod/vmod_directors_hash.c
    typedefs: []
    union: []
- function_names:
  - vmod_hard
  - vmod_soft
  source_file: /src/vinyl-cache/vmod/vmod_purge.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - hex_encode_l
  - hex_decode_l
  - hex2byte
  - hex_encode
  - hex_decode
  source_file: /src/vinyl-cache/vmod/vmod_blob_hex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ERR
  - VERR
  - ERRINVAL
  - VERRNOMEM
  - ERRNOMEM
  - parse_encoding
  - VMODENUM
  - parse_case
  - VMODENUM
  - decode_l
  - err_decode
  - encodes_hex
  - check_enc_case
  - vmod_blob__init
  - vmod_blob_get
  - vmod_blob_encode
  - vmod_blob__fini
  - vmod_decode
  - encode
  - vmod_encode
  - vmod_transcode
  - vmod_same
  - vmod_equal
  - vmod_length
  - vmod_sub
  source_file: /src/vinyl-cache/vmod/vmod_blob.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_BLOB_TYPE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
      type_or_value: '0xfade4faa'
    - item_type: preproc_def
      name: VMOD_BLOB_MAGIC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
      type_or_value: '0xfade4fa9'
    - item_type: preproc_def
      name: B64_FUNCS
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
      type_or_value: ".decode_l\t= base64_decode_l, \\\n\t\t.decode\t\t= base64_decode,
        \  \\\n\t\t.encode\t\t= base64_encode"
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: blob
        type: struct vrt_blob
      - name: '*freeptr'
        type: void
      - name: '*encoding[__MAX_ENCODING][2]'
        type: char
      - name: lock
        type: pthread_mutex_t
      item_type: struct
      name: vmod_blob_blob
      pos:
        line_end: 47
        line_start: 40
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    - fields:
      - name: '*const decode_l'
        type: len_f
      - name: '*const decode'
        type: decode_f
      - name: '*const encode_l'
        type: len_f
      - name: '*const encode'
        type: encode_f
      item_type: struct
      name: vmod_blob_fptr
      pos:
        line_end: 59
        line_start: 54
        source_file: /src/vinyl-cache/vmod/vmod_blob.c
    typedefs: []
    union: []
- function_names:
  - sharddir_backend
  - SHDBG
  - shard_log
  - shard_fail
  - shard_err
  - shard_err0
  - shard_notice
  source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
  types:
    enum:
    - enumerators:
      - name: task_off_param
        value: '0'
      - name: task_off_cfg
        value: '1'
      item_type: enum
      name: shard_task_off_e
      pos:
        line_end: 79
        line_start: 76
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    preproc_defs:
    - item_type: preproc_def
      name: SHDBG_LOOKUP
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SHDBG_CIRCLE
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
      type_or_value: (1<<1)
    - item_type: preproc_def
      name: SHDBG_RAMPWARM
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
      type_or_value: (1<<2)
    - item_type: preproc_def
      name: SHARDDIR_MAGIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
      type_or_value: '0xdbb7d59f'
    structs:
    - fields:
      - name: point
        type: uint32_t
      - name: host
        type: unsigned int
      item_type: struct
      name: shard_circlepoint
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    - fields:
      - name: backend
        type: VCL_BACKEND
      - name: rampup
        type: VCL_DURATION
      - name: replicas
        type: uint32_t
      item_type: struct
      name: shard_backend
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    - fields:
      - name: magic
        type: unsigned
      - name: debug_flags
        type: uint32_t
      - name: mtx
        type: pthread_rwlock_t
      - name: n_backend
        type: unsigned
      - name: l_backend
        type: unsigned
      - name: '*backend'
        type: struct shard_backend
      - name: '*name'
        type: char
      - name: '*hashcircle'
        type: struct shard_circlepoint
      - name: '*param'
        type: struct vmod_directors_shard_param
      - name: rampup_duration
        type: VCL_DURATION
      - name: warmup
        type: VCL_REAL
      - name: n_points
        type: uint32_t
      item_type: struct
      name: sharddir
      pos:
        line_end: 73
        line_start: 54
        source_file: /src/vinyl-cache/vmod/vmod_directors_shard_dir.h
    typedefs: []
    union: []
- function_names:
  - onearg
  - vmod_duration
  - vmod_bytes
  - vmod_integer
  - vmod_ip
  - vmod_real
  - vmod_round
  - vmod_time
  - vmod_strftime
  source_file: /src/vinyl-cache/vmod/vmod_std_conversions.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VCL_BYTES_MAX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/vinyl-cache/vmod/vmod_std_conversions.c
      type_or_value: ((INT64_C(1)<<53)-1)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/vinyl-cache/vmod/vmod_blob_tbl_case.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - xyzzy_null_acl
  - xyzzy_acl
  - xyzzy_match_acl
  - reset_sweep
  - setup_sweep
  - cleanup_sweep
  - step_sweep
  - xyzzy_sweep_acl
  - xyzzy_time_acl
  - xyzzy_aclobj__init
  - xyzzy_aclobj__fini
  - xyzzy_aclobj_get
  source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_DEBUG_ACLOBJ_MAGIC
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
      type_or_value: '0xac10ac10'
    structs:
    - fields:
      - name: family
        type: int
      - name: '*ip0_p'
        type: uint8_t
      - name: '*ip1_p'
        type: uint8_t
      - name: '*probe'
        type: struct suckaddr
      - name: '*probe_p'
        type: uint8_t
      - name: step
        type: VCL_INT
      - name: reset
        type: uint64_t
      - name: that
        type: uint64_t
      - name: count
        type: uint64_t
      item_type: struct
      name: acl_sweep
      pos:
        line_end: 89
        line_start: 79
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    - fields:
      - name: magic
        type: unsigned
      - name: "*\t\t\t\tvcl_name"
        type: char
      - name: acl
        type: VCL_ACL
      item_type: struct
      name: xyzzy_debug_aclobj
      pos:
        line_end: 281
        line_start: 276
        source_file: /src/vinyl-cache/vmod/vmod_debug_acl.c
    typedefs: []
    union: []
- function_names:
  - vmod_rr_healthy
  - vmod_rr_list
  - vmod_rr_resolve
  - vmod_rr_release
  - vmod_rr_destroy
  - vmod_round_robin__init
  - vmod_round_robin__fini
  - vmod_round_robin_add_backend
  - vmod_round_robin_remove_backend
  - vmod_round_robin_backend
  source_file: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VMOD_DIRECTORS_ROUND_ROBIN_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
      type_or_value: '0xa80970cf'
    structs:
    - fields:
      - name: magic
        type: unsigned
      - name: '*vd'
        type: struct vdir
      - name: nxt
        type: unsigned
      item_type: struct
      name: vmod_directors_round_robin
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/vinyl-cache/vmod/vmod_directors_round_robin.c
    typedefs: []
    union: []
